第2章:安装MySQL / 2.7. 在其它类Unix系统中安装MySQL

本节介绍在各种平台上安装tar压缩文件格式的MySQL二进制分发版(文件有.tar.gz 扩展名)。详细目录参见2.1.2.5节,“MySQL AB编译的MySQL二进制版本”

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

MySQLtar文件二进制分发版的文件名格式为mysql-VERSION-OS.tar.gz,其中VERSION是版本号(例如,5.1.2-alpha)OS表示分发版安装的操作系统类型(例如,pc-linux-i686)

除了这些通用软件包,我们还为各平台提供了具体的二进制安装软件包。关于如何安装的详细信息参见2.2节,“使用二进制分发版的标准MySQL安装”

你需要下面的工具来安装MySQL tar文件二进制分发版:

·         GNU gunzip解压缩分发版。

·         一个适当的tar解包分发版。 GNU tar已知可以。一些操作系统中含有预安装的tar,已知有问题。例如,已知Mac OS X tarSun tar对于长文件名有问题。在Mac OS X中,你可以使用预安装的gnutar程序。在其它系统中若tar不完善,你应当首先安装GNU tar

如果你遇到问题,在把问题寄到MySQL邮件目录时,请一定使用mysqlbug,就算问题不是一个缺陷,mysqlbug也会收集系统信息,将有助于其它人解决你的问题。不使用mysqlbug,你将减少得到你问题的一个解决方案的可能性!在你解包分发版后,你会在“bin目录下找到mysqlbug。请参见1.7.1.3节,“如何通报缺陷和问题”

必须执行以便安装并使用MySQL二进制分发版的基本命令是:

shell> groupadd mysql

shell> useradd -g mysql mysql

shell> cd /usr/local

shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

shell> ln -s full-path-to-mysql-VERSION-OS mysql

shell> cd mysql

shell> scripts/mysql_install_db --user=mysql

shell> chown -R root  .

shell> chown -R mysql data

shell> chgrp -R mysql .

shell> bin/mysqld_safe --user=mysql &

注释:该过程未设置MySQL账户的密码。完成下面的过程后,继续执行想2.9节,“安装后的设置和测试”

下面为安装二进制分发版的更详细的描述:

1.    mysqld增加一个登录用户和组:

2.            shell> groupadd mysql

3.            shell> useradd -g mysql mysql

这些命令将增加MySQL组和MySQL用户。不同版本的Unix中,useraddgroupadd的语法可能会稍有不同。还可以称为adduseraddgroup

你可能会将这些用户和组命名为mysql之外的名称。如果是这样,在下面的步骤中替换为相应的名称。

4.    挑选一个你想解开分发包的目录,进入该目录。在下面的例子中,我们将分发解包在“/usr/local”下(因此,下列说明假设你有权限在“/usr/local”中创建文件和目录,如果该目录被保护,你需要以root实施安装)

5.            shell> cd /usr/local

6.    2.1.3节,“怎样获得MySQL”中列出的站点之一获得一个分发文件。对于一个给定的版本,所有平台的二进制分发版均从相同的MySQL源码分发版构建。

7.    解包分发版,将创建安装目录。然后生成到该目录的一个符号链接:

8.            shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf -

9.            shell> ln -s full-path-to-mysql-VERSION-OS mysql

tar命令创建mysql-VERSION-OS目录。ln命令生成到该目录的一个符号链接。这让你更容易地把安装目录指定为/usr/local/mysql

使用GNU tar,则不再需要gunzip。可以用下面的命令替换第一行来解包和提取分发版:

shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz

10.进入安装目录:

11.       shell> cd mysql

你会在mysql目录下发现几个文件和子目录,对安装目的最重要的是“bin”和“scripts”子目录。

·         bin

这个目录包含客户端程序和服务器,你应该把这个目录的完整路径加到PATH环境变量,以便shell能正确的找到MySQL程序。请参见附录F:环境变量

·         scripts

这个目录包含mysql_install_db脚本,用来初始化mysql数据库的 授权表,其中贮存了服务器访问允许。

12.如果还没有安装MySQL,必须创建MySQL授权表:

13.        shell> scripts/mysql_install_db --user=mysql

如果你用root运行命令,应当使用--user选项。选项的值应与你在第一步为运行服务器所创建的登录账户相同。如果你用该用户登录来运行命令,可以省略--user选项。

创建或升级授权表后,需要手动重新启动服务器。

14.将程序二进制的所有权改为root数据目录的所有权改为运行mysqld 的用户。如果位于安装目录(/usr/local/mysql)下,命令应为:

15.        shell> chown -R root  .

16.        shell> chown -R mysql data

17.        shell> chgrp -R mysql .

第一个命令将文件的所有属性改为root用户。第二个命令将数据目录的所有属性改为mysql用户。第三个命令将组属性改为mysql组。

18.如果你喜欢在引导机器时自动启动MySQL,可以拷贝support-files/mysql.server文件到系统有启动文件的地方。更多的信息可以在support-files/mysql.server脚本中和2.9.2.2节,“自动启动和停止MySQL”中找到。

19.如果安装了DBIDBD::mysql Perl模块,可以使用bin/mysql_setpermission脚本增加新账户。关于说明,参见 2.13节,“Perl安装注意事项”

20.如果你想使用mysqlaccess而在某个非标准的地点有MySQL分发版,你必须改变地点,在那儿mysqlaccess期望找到mysql客户端。编辑“bin/mysqlaccess”脚本,大约在第18行,寻找类似下面的行:

21.          $MYSQL     = '/usr/local/bin/mysql';    # path to mysql executable

改变路径以反映出mysql实际存储在你系统上的地点。如果不这样做,当运行mysqlaccess时,你将遇到一个broken pipe的错误。

在所有东西被解包并且安装以后,你应该初始化并且测试你的分发版。

可以用下列命令启动MySQL服务器:

shell> bin/mysqld_safe --user=mysql &

关于mysqld_safe的详细信息参见5.1.3节,“mysqld_safe:MySQL服务器启动脚本”

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