第2章:安装MySQL / 2.5.在Mac OS X中安装MySQL

可以在Mac OS X 10.2.x(Jaguar)和以上版本上Mac OS X使用二进制安装软件包的PKG格式代替二进制分发版来安装MySQL。请注意该软件包不支持旧版本的Mac OS X(例如,10.1.x)

安装软件包位于硬盘映象(.dmg)文件中,必须首先双击搜索起中的图标来安装该文件。应当安装图像并显示其内容。

要想获得MySQL,参见2.1.3节,“怎样获得MySQL”

注释:在继续安装前,一定要使用MySQL管理器应用程序(Mac OS X服务器上)或通过命令行的mysqladmin shutdown关闭所有运行MySQL服务器实例。

要想安装MySQL PKG文件,双击软件包图标。将启动Mac OS X安装软件包安装器,将指导你完成MySQL安装。

Mac OS X安装软件包的安装器中有一个缺陷,你会在目标盘选择对话框中发现该错误消息:

You cannot install this software on this disk. (null)

如果出现该错误,只需要点击Go Back按钮返回前面的窗口。然后点击Continue再次选择目标盘,此时应当可以正确地选择目标盘。我们已经向Apple报告了该缺陷,它正在调查该问题。

MySQLMac OS X PKG安装到/usr/local/mysql-VERSION,并且还会安装一个符号连接,/usr/local/mysql,指向新的位置。如果有/usr/local/mysql目录,首先将它改名为/usr/local/mysql.bak。安装完后,安装器执行mysql_install_dbMySQL数据库中创建授权表。

安装布局与tar文件二进制分发版类似;所有MySQL二进制代码位于目录/usr/local/mysql/bin中。默认情况,MySQL套接字文件创建为/tmp/mysql.sock。请参见2.1.5节,“安装布局”

MySQL安装需要Mac OS Xmysql用户账户。在Mac OS X 10.2及以上版本中,默认情况应存在mysql用户账户。

如果正运行Mac OS X服务器,需要安装MySQL。随Mac OS X服务器版本安装的MySQL版本如下表所示:

Mac OS X服务器版本

MySQL版本

10.2-10.2.2

3.23.51

10.2.3-10.2.6

3.23.53

10.3

4.0.14

10.3.2

4.0.16

10.4.0

4.1.10a

本节只覆盖官方MySQL Mac OS X PKG版本。一定要阅读Apple关于MySQL安装的帮助信息:运行“帮助视图”应用程序,选择“Mac OS X服务器”帮助,搜索“MySQL”,阅读标题为“安装MySQL”的内容。

对于Mac OS X服务器上已经安装的MySQL版本,如果早于4.0,应特别注意应当使用mysqld_safe而不是safe_mysqld来启动mysqld

如果你前面在Mac OS X上安装了从http://www.entropy.ch下载的Marc LiyanageMySQL软件包,你可以只使用该页给出的二进制安装布局按照更新说明来安装。

如果你从Marc3.23.xx 版本或从Mac OS XMySQL服务器版本升级到官方MySQL PKG,你还需要将已有MySQL授权表转换为当前格式,因为已经加了许多新的安全权限。请参见2.10.2节,“升级授权表”

如果你想在系统启动过程中自动启动MySQL,你还需要安装MySQL Startup Item。在MySQL 5.1,它是Mac OS X安装盘映像的一部分,是一个独立的安装软件包。只需要双击MySQLStartupItem.图标并按照说明来安装。

请注意Startup Item只需要安装一次!不需要在以后每次升级MySQL软件包时都安装它。

MySQL 5.1Startup Item安装在/Library/StartupItems/MySQLCOM(MySQL 4.1.2以前的版本,安装位置为/Library/StartupItems/MySQL,但与Mac OS X服务器安装的MySQL Startup Item冲突)Startup Item安装时在系统配置文件/etc/hostconfig中加入变量MySQLCOM=-YES-。如果你想要disable自动启动MySQL,只需要将该变量更改为MySQLCOM=-NO-

Mac OS X服务器上,默认MySQL安装使用/etc/hostconfig文件中的变量MySQLMySQL AB Startup Item安装器将其设置为MySQL=-NO-禁用该变量。这样可以避免启动时间与MySQL AB Startup Item使用的MySQLCOM变量冲突。但是,不会关闭运行的MySQL服务器。你应当自己关闭。

安装完后,可以在终端窗口运行下面的命令来启动MySQL。你必须具有管理员权限来执行该任务。

如果你已经安装的Startup Item

shell> sudo /Library/StartupItems/MySQLCOM/MySQLCOM start

(Enter your password, if necessary)

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

如果不使用Startup Item,输入下面的命令序列:

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服务器,例如,通过运行/usr/local/mysql/bin/mysql来连接。

注释:MySQL授权表中的账户开始没有密码。启动服务器后,应当按照2.9节,“安装后的设置和测试”中的说明来设置密码。

你可以为外壳源文件起一个别名,使它更容易访问常用的程序,例如从命令行运行mysqlmysqladmintcsh语法为:

aliasMySQL /usr/local/mysql/bin/mysql
aliasMySQLadmin /usr/local/mysql/bin/mysqladmin

对于bash,使用:

aliasMySQL=/usr/local/mysql/bin/mysql
aliasMySQLadmin=/usr/local/mysql/bin/mysqladmin

最好是在PATH环境变量中加入/usr/local/mysql/bin。例如,如果外壳命令是tcsh,在$HOME/.tcshrc文件中加入下面一行:

setenv PATH ${PATH}:/usr/local/mysql/bin

如果根目录中没有.tcshrc文件,则用文本编辑器创建该文件。

如果你对已有的安装进行升级,请注意安装新MySQL PKG时不会卸载旧的安装目录。遗憾的是,Mac OS X安装器尚未提供功能来正确升级前面安装的软件包。

要想在新安装中使用已有的数据库,你需要将旧数据目录中的内容复制到新的数据目录。执行该操作时,确保关闭新、旧服务器。将以前安装的MySQL数据库文件拷贝过来并成功启动新的服务器后,应当卸载旧的文件以节省硬盘空间。并且,还应当卸掉位于/Library/Receipts/mysql-VERSION.pkg的旧版本Package Receipt目录。