这里安装的是最新的MySQL 5.7.10,下载网址为:http://dev.mysql.com/downloads/mysql/,本文选择是的“Linux - Generic”下的“Linux - Generic (glibc 2.5) (x86, 64-bit), Compressed TAR Archive”,它的二进制安装包名为mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz。
将二进制安装包解压后,可看到名为INSTALL-BINARY的文件,该文件有说明如何安装MySQL,本文基本参照它进行的。
由于官方提供的二进制安装包,编译的时候指定的“--prefix”为“/usr/local/mysql”,所以最好将mysql安装在/usr/local目录下,否则安装过程会容易遇到问题。但建立将数据目录指定为一个足够大的分区下的目录。
当然data目录也可以为软链接方式到足够大的分区目录,并且推荐使用软链接方式,否则在使用mysql命令时,经常需要指定参数“--datadir”,比如mysqld、mysqld_safe和mysql_ssl_rsa_setup等都需要指定“--datadir”。
如果不是安装在/usr/local/mysql,则需要为mysqld指定--basedir、--character-sets-dir、--language、--lc-messages-dir、--plugin-dir等众多参数值。
如果不能root用户安装,则还需要为mysqld指定--slow-query-log-file、--socket、--pid-file、--plugin-dir和--general-log-file等参数值。
这些参数的默认值,都可以通过执行MySQL的“bin/mysqld --verbose --help”查看到。
# MySQL安装目录为/usr/local/mysql,数据目录实际为/data/mysql/data # 注意需以root用户安装MySQL,如果不能root用户安装,容易遇到安装麻烦 # 并请注意5.7.6之前的版本安装略有不同! # 新建mysql用户组 groupadd mysql # 新建mysql用户,并设置为不能作为linux登录用户 useradd -r -g mysql -s /bin/false mysql # 进入到mysql安装目录 cd /usr/local # 解压二进制安装包 tar xzf mysql-5.7.10-linux-glibc2.5-x86_64.tar.gz # 建立易记的、与版本无关的短链接 ln -s mysql-5.7.10-linux-glibc2.5-x86_64 mysql # 进入到mysql目录 cd mysql # 创建数据目录 mkdir -p /data/mysql/data # 建立数据目录软链接,让指向/usr/local/mysql/data指向/data/mysql/data ln -s /data/mysql/data /usr/local/mysql/data # 设置目录权限 chmod 770 /data/mysql/data chown -R mysql /data/mysql/data chgrp -R mysql /data/mysql/data chown -R mysql . chgrp -R mysql . # 初始化 # 成功执行完mysqld后,会提供一个临时的root密码,请务必记住 bin/mysqld --initialize --user=mysql --explicit_defaults_for_timestamp bin/mysql_ssl_rsa_setup # 重置目录权限 chown -R root . chown -R mysql /data/mysql/data # 启动mysql bin/mysqld_safe --user=mysql & # 查看端口是否已起来(不修改配置和不指定参数--port,默认端口号为3306) netstat -lpnt|grep 3306 # 停止MySQL support-files/mysql.server stop # 设置mysql随着系统自启动 cp support-files/mysql.server /etc/init.d/mysql.server |
以上使用的都是MySQL默认配置,如果需要定制化,可以通过修改文件my.cnf来达成。MySQL 5.7.10不带my.cnf,只有个support-files/my-default.cnf。
通过执行命令“support-files/my-default.cnf”,可以了解到MySQL搜索my.cnf的顺序依次为:/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf,这样可以复制一份my-default.cnf,然后再修改,如:cp support-files/my-default.cnf /etc/my.cnf。