首先创建一个名为mysql且没有登录权限的用户和一个名为mysql的用户组,然后去mysql官网下载MySQL5.7.7rc版本。
由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要下载CMake编译器、Boost库、ncurses库和GNU分析器生成器bison这4种工具。经过自己的测试发现,MySQL5.7.7rc编译时所需要的Boost库只能是boost 1.57.0版本,低于或者高于这个版本的都会编译失败!
准备工作做好后,就开始正式配置MySQL5.7.7rc的安装明细了。注意,操作时一定要先把下面反斜杠“\”后面添加的注释文字去掉!!!
执行上面的配置命令的结果如下图所示:

使用make命令编译时,会比较吃CUP。博主当时购买的阿里主机是单核1G内存,编译到55%左右时直接卡住,同时无法新建一个终端连接,内存或者CPU已经严重耗尽。在重新购买了一个物理数据盘并划分出一个swap交换空间后,最终还是编译成功了,耗时约4个小时。所以,如果主机内存在1G一下并且没有设置Linux交换空间的,不建议直接编译MySQL5.7.7rc!
下图展示的是make命令执行完毕的情况:


编译MySQL5.7.7rc对CPU和内存消耗比较大,这里截取了两张使用top命令的图片:


最后,激动人心的时刻,看到下图就代表已经编译安装好了MySQL5.7.7rc!

使用命令查看MySQL的安装目录/usr/local/mysql/下面是否生成了相关目录文件(最重要的当然是bin、sbin和lib目录)。如果lib目录下面没有生成如图所示的.so动态库文件和.a静态库文件,那么说明安装不成功(即使成功了也可能会导致php进程无法找到mysql的相关库文件)。

先把编译生成的my.cnf文件备份,然后把《CentOS系统MySQL的配置文件my.cnf》文中整理的MySQL的配置文件my.cnf上传到服务器的/etc/目录下即可。
将MySQL编译生成的bin目录添加到当前Linux系统的环境变量中
在Linux主机上创建一个目录/mydata/mysql/data,用于存放MySQL的数据库文件。同时设置其用户和用户组为之前创建的mysql,权限为777。这样其它用户是无法进行读写的,尽量保证数据库的安全。
在MySQL安装目录的\bin\路径下,执行mysqld命令,初始化MySQL自身的数据库。
执行完后,可以通过[root@linuxidc mysql]# ls -lrt /mydata/mysql/data/命令查看是否生成了MySQL自身的数据库文件。

下面配置的MySQL日志存放目录以及权限都是根据前面my.cnf文件写的,也就是两者需要保持一致。
在完成上面的操作后,就可以正式使用MySQL服务了。启动MySQL进程服务的命令如下:
然后使用下面这命令ps -ef | grep mysql和netstat -tunpl | grep 3306查看MySQL服务进程和端口监听情况:

一般MySQL数据库还会被类似于PHP等服务调用,所以我们需要将MySQL编译后的lib库文件添加至当前Linux主机链接库/etc/ld.so.conf.d/下,这样MySQL服务就可以被其它服务调用了。
使用MySQL数据库root管理员用户登录MySQL数据库后,可以管理数据库和其他用户了。这里演示创建一个名为linuxidc的MySQL用户(密码为@linuxidc2014.com)和一个名为linuxidc的数据库。