`

Mac OS安装MySQL(使用二进制PGK包安装)

阅读更多

 

下载二进制PGK安装包

----------------------------------

Mac OS X没有内置MySQL,需要自己手动安装,本文安装的是MySQL-5.5.24版本,是当时的最新GA版本。

下载MySQL-5.5.24,网址是http://dev.mysql.com/downloads/。

请你自己选择合适的版本,我这里下载了mysql-5.5.24-osx10.6-x86_64.dmg。

 

开始安装MySQL

----------------------------------

下载完成后,运行dmg包,会发现里面有4个文件。

mysql-5.5.24-osx10.6-x86_64.pkg,这是MySQL主安装包。

MySQLStartupItem.pkg 命令行的启动、停止工具,开机自启动工具。

MySQL.prefPane 图型界面的启动、停止控制台。

README.txt 安装说明文件 

 

安装第1个文件mysql-5.5.24-osx10.6-x86_64.pkg,这是MySQL主安装包。一路默认安装完毕。

(注意,从10.8开始Mac OS X的权限更加严格,直接点击会提示“mysql-5.5.24-osx10.6-x86_64.pkg can’t be opened because it is from an unidentified developer. Your security preferences allow installation of only apps from the Mac App Store and identified developers.”阻止了安装,你可以使用双指单击该安装文件,在弹出菜单中选择“用…打开(open with)”,再选择“安装(Installer)”就可以接着安装了。)

安装第2个文件MySQLStartupItem.pkg,是停止、启动MySQL的工具,还可以让MySQL自动在开机时启动了(非图形界面)。

(注意,10.8的安装方法同上。)

安装第3个文件MySQL.prefPane,就会在“系统设置偏好”中看到“MySQL”的ICON,通过它就可以控制MySQL是否开启,以及开机时是否自动运行。

(注意,10.8中用双指单击该安装文件,在弹出的菜单中选择“用…打开(open with)”,然后选择“系统偏好(System Perference)”就可以接着安装了。)

最后安装程序会自动执行安装MySQL必需执行的初始化脚本,`mysql_install_db'脚本,完成必需的初始化工作,如创建系统表。

到这里MySQL就安装完毕了。

 

默认安装路径

----------------------------------

MySQL的Mac OS X PKG安装到/usr/local/mysql-VERSION,

并且还会创建一个符号连接/usr/local/mysql连接到安装目录。如果已存在`/usr/local/mysql'目录,则改名为 `/usr/local/mysql.bak'。

MySQL二进制代码位于目录/usr/local/mysql/bin

MySQL套接字文件创建在/tmp/mysql.sock。 

MySQL数据文件目录在/usr/local/mysql/data ,目录的权限(拥有者)是 _mysql用户。MySQL安装需要使用操作系统的用户`mysql',Mac OS操作系统 都有这个用户。

 

my.cnf配置文件在哪里

----------------------------------

在Mac OS X 上安装MySQL默认是没有my.cnf配置文件的,MySQL使用默认配置运行。

如果没有什么特别的需求,默认的配置也使 MySQL 很好的运行了。

如果需要对MySQL进行定制,可复制「/usr/local/mysql/support-files/」目录下的任意一个 .cnf 文件到「/etc/」目录下并重命名为 my.cnf,

然后使用vi编辑my.cnf文件,即可进行定制MySQL了。

 

MySQL 的Startup Item

---------------------------------

Startup Item是命令行的启动、停止工具,开机自启动工具。

MySQL 的Startup Item安装在/Library/StartupItems/MySQLCOM。

Startup Item安装时在系统配置文件/etc/hostconfig中加入变量MySQLCOM=-YES-。让MySQL开机自启动。

如果你想要disable自动启动MySQL,只需要将该变量更改为MySQLCOM=-NO-。 

 

启动\停止\重启MySQL

---------------------------------

安装完后,可以在终端窗口运行下面的命令来启动MySQL。

你必须具有管理员权限来执行该任务。 

 

如果你已经安装了Startup Item工具,可以使用他来启动\停止\重启MySQL: 

shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start   (还可以stop restart)

(Enter your password, if necessary) 

(Press Control-D or enter "exit" to exit the shell) 

 

使用MySQL原生的启动命令:

shell> cd /usr/local/mysql 

shell> sudo ./bin/mysqld_safe 

(Enter your password, if necessary) 

(Press Control-Z) 

shell> bg 

(Press Control-D or enter "exit" to exit the shell) 

 

使用MySQL原生的停止命令:

shell> cd /usr/local/mysql/bin 

shell> ./mysqladmin shutdown -uroot -p  (必须指定用户)

(Enter your password, if necessary) 

 

建立别名,让操作更简便

---------------------------------

通过运行“sudo vi /etc/bashrc”,在bash配置文件中加入mysqlstart、mysql和mysqladmin的别名,就可使用简便的命令替代冗长的命令了。

(注意:修改完毕之后需要退出“终端(Terminal)”之后重新进入,这些命令才会生效):

alias mysqlstart='sudo /Library/StartupItems/MySQLCOM/MySQLCOM restart'

alias mysql='/usr/local/mysql/bin/mysql'

alias mysqladmin='/usr/local/mysql/bin/mysqladmin'

这样就可以在终端中比较简单地通过命令进行相应的操作。

 

 

Mac OS运行MySQL常见问题的处理

---------------------------------

1、由于开始安装MySQLStartupItem.pkg到“/Library/StartupItems/MySQLCOM/”来控制MySQL的运行、自动运行、停止、关闭之类。在MySQL没有启动时,直接运行mysql或mysqladmin命令会提示“Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)”,所以我们可以通过控制面板或者直接运行mysqlstart命令来启动MySQL,之后再运行mysql或mysqladmin命令就正常了。

2、比如安装完毕后MySQL的root默认密码为空,如果要设置密码可以在终端运行“mysqladmin -u root password "mysqlpassword"”来设置,其中mysqlpassword即root的密码。更多相关内容可以参考B.5.4.1. How to Reset the Root Password。

3、注意:Mac OS X的升级或其他原因可能会导致MySQL启动或开机自动运行时,在MySQL操作面板上会提示“Warning:The /usr/local/mysql/data directory is not owned by the 'mysql' or '_mysql' ”,这应该是某种情况下导致/usr/local/mysql/data的宿主发生了改变,只需要运行“sudo chown -R mysql /usr/local/mysql/data”即可。

4、使用PHP连接MySQL可能会报错“Can’t connect to local MySQL server through socket ‘/var/mysql/mysql.sock’”,或使用localhost无法连接MySQL而需要127.0.0.1,原因是连接时php默认去找/var/mysql/mysql.sock了,但MAC版的MYSQL改动了文件位置,放在/tmp下了。处理办法是按如下修改php.ini:

mysql.default_socket = /tmp/mysql.sock

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics