你必须执行的安装MySQL源码分发版的基本命令是:

shell> groupadd mysql
shell> useradd -g mysql mysql
shell> gunzip < mysql-VERSION.tar.gz | tar -xvf -
shell> cd mysql-VERSION
shell> ./configure --prefix=/usr/local/mysql
shell> make
shell> make install
shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> cd /usr/local/mysql
shell> bin/mysql_install_db --user=mysql
shell> chown -R root  .
shell> chown -R mysql var
shell> chgrp -R mysql .
shell> bin/mysqld_safe --user=mysql &

如果从一个源码RPM开始,那么执行如下命令:

shell> rpmbuild --rebuild --clean MySQL-VERSION.src.rpm

这样你制作一个可以安装的二进制RPM。对于旧版本的RPM,你可能需要替换用rpm替换命令rpmbuild

注释:该过程不为任何MySQL账户设置密码。完成下面的过程后,根据2.9节,“安装后的设置和测试”进行安装后的设置和测试。

以下是安装MySQL源码分发版的更详细的描述:

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

2.            shell> groupadd mysql
3.            shell> useradd -g mysql mysql

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

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

4.    挑选一个你想解开分发包的目录,进入该目录。

5.    2.1.3节,“怎样获得MySQL”中列出的站点之一获得一个分发文件。

6.    在当前目录下解包分发版:

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

该命令创建mysql-VERSION 目录。

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

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

8.    进入解包分发版的顶级目录:

9.            shell> cd  mysql-VERSION

请注意目前必须从顶级目录配置和构建MySQL。你不能在其它目录中构建。

10.配置发布版并且编译:

11.        shell> ./configure --prefix=/usr/local/mysql
12.        shell> make

当你运行configure时,你可能想要指定一些选项,运行./configure --help得到一个选项列表。2.8.2节,“典型配置选项讨论一些很有用的选项。

如果configure失败,你将向MySQL邮件目录发送包含你认为能帮你解决该问题的包含“config.log”中所有行的邮件,也要包括configure的最后几行输出。用mysqlbug脚本邮寄错误报告。请参见1.7.1.3节,“如何通报缺陷和问题”

如果编译失败,参见2.8.4节,“处理MySQL编译问题”寻求帮助。

13.安装分发版:

14.        shell> make install

如果你想要设置一个选项文件,使用support-files目录中的一个作为模板。例如:

shell> cp support-files/my-medium.cnf /etc/my.cnf

可能你需要用root用户运行这些命令。

如果想要配置为支持InnoDB表,应当编辑/etc/my.cnf文件,去掉innodb_...开始选项行前面的#符,并将选项值改为你想要的。请参见4.3.2节,“使用选项文件”15.2.3节,“InnoDB配置”

15.进入安装目录:

16.        shell> cd /usr/local/mysql

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

18.        shell> bin/mysql_install_db --user=mysql

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

mysql_install_db创建MySQL授权表后,需要手动重新启动服务器

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

20.        shell> chown -R root  .
21.        shell> chown -R mysql var
22.        shell> chgrp -R mysql .

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

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

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

在所有东西被安装以后,你应当使用该命令初始化并且测试你的分发版:

shell> /usr/local/mysql/bin/mysqld_safe --user=mysql &

如果这个命令提示mysqld daemon ended并马上失败,那么你能在数据目录中的文件“hostname'.err”找到一些信息。

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

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