接着使用YUM方式安装mysql后,本文将介绍下在CentOS6.5 64位虚拟机上通过编译源码安装MYSQL5.7.10服务。

环境:

OS: CentOS6.5 x86_64 最小化安装CPU: 1MEM: 1G

注:上面的CPU/MEM参数太小了,编译时间会很长,很长...

1. 准备编译安装依赖环境

shell> yum install gcc gcc-c++ cmake ncurses ncurses-devel -y# 5.7.5后,依赖boost工具,GEO支持shell> wget # 解压,可选择安装或不安装;若不安装则在编译mysql时需添加参数制定boost目录# 我们这里不安装,直接解压到./boost_1_59_0即可shell> tar zxf boost_1_59_0.tar.gz

2. 创建mysql用户

shell> groupadd mysqlshell> useradd -r -g mysql -s /bin/false mysql

3. 下载源码安装包并解压

shell> wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.10.tar.gzshell> tar zxf mysql-5.7.10.tar.gz

4. 编译安装

# 下面的参数在MYSQL官方文档上均有说明,若有不清楚的请移步

shell> cd mysql-5.7.10shell> cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \       -DMYSQL_DATADIR=/data/mysql \       -DDOWNLOAD_BOOST=1 \       -DWITH_BOOST=../boost_1_59_0 \       -DSYSCONFDIR=/etc \       -DDEFAULT_CHARSET=utf8mb4 \       -DDEFAULT_COLLATION=utf8mb4_unicode_cishell> make # 若你为虚拟机分配了多核CPU,则可以加上j参数,启用多核编译;这里比较耗时shell> make installshell> cd /usr/local/mysql# mysql base目录权限设置shell> chown -R mysql .shell> chgrp -R mysql .# 初始化: --initialize指将生成一个随机root密码;--initialize-insecure指不生成root密码shell> bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysqlshell> chown -R root .shell> chown -R mysql /data/mysql

5. 编译安装完成后,启动服务

shell> bin/mysqld_safe --user=mysql & # 到这里,一般情况下可以成功

6. 使用mysql的服务管理文件mysql.server配置mysql为系统服务

shell> support-files/mysql.server stopshell> cp support-files/mysql.server /etc/init.d/mysqldshell> chmod +x /etc/init.d/mysqldshell> chkconfig --add mysqldshell> chkconfig --level 345 onshell> chkconfig --listshell> ln -s /etc/rc.d/init.d/mysqld /etc/init.d/mysqld# 尝试启动shell> service mysqld start  # 启动## 输出Starting MySQL. SUCCESS!shell> service mysqld status # 查看运行状态## 输出SUCCESS! MySQL running (1303)shell> service mysqld stop   # 停止服务## 输出Shutting down MySQL.. SUCCESS!

至此,源码编译安装最新版Mysql服务完成

7. 其他

官方文档请查看: