CentOS 7.1编译安装MySQL 5.7.7RC

首先创建一个名为mysql且没有登录权限的用户和一个名为mysql的用户组,然后去mysql官网下载MySQL5.7.7rc版本。

#######新建mysql用户和mysql组 [root@linuxidc ~]# groupadd -r mysql && useradd -r -g mysql -s /bin/false -M mysql ######从官网或者博客备份地址下载MySQL5.7.7 Release Candidate版本 [root@linuxidc ~]# wget -c [root@linuxidc ~]# wget -c [root@linuxidc ~]# md5sum mysql-5.7.7-rc.tar.gz [MD5校验] 36a96021a93ca236e76f5c90ae19cd44 mysql-5.7.7-rc.tar.gz ######开始解压MySQL5.7.7 [root@linuxidc ~]# tar -zxf mysql-5.7.7-rc.tar.gz && cd mysql-5.7.7-rc ######下载gmock:google的c++mock框架,从mysql 5.6开始支持 [root@linuxidc mysql-5.7.7-rc]# wget -c ######将其解压到MySQL5.7.7的source_downloads目录下 [root@linuxidc mysql-5.7.7-rc]# unzip gmock-1.6.0.zip -d source_downloads 2 下载编译MySQL5.7.7rc时需要的工具

由于从MySQL5.5版本开始弃用了常规的configure编译方法,所以需要下载CMake编译器、Boost库、ncurses库和GNU分析器生成器bison这4种工具。经过自己的测试发现,MySQL5.7.7rc编译时所需要的Boost库只能是boost 1.57.0版本,低于或者高于这个版本的都会编译失败!

#######CMake编译工具 [root@linuxidc ~]# wget -c [root@linuxidc ~]# tar -zxf cmake-3.2.1.tar.gz && cd cmake-3.2.1 [root@linuxidc cmake-3.2.1]# ./configure [root@linuxidc cmake-3.2.1]# make && make install [默认安装路径是/usr/local/bin] [root@linuxidc cmake-3.2.1]# cmake --version [查看cmake版本] cmake version 3.2.1 CMake suite maintained and supported by Kitware (kitware.com/cmake). [root@linuxidc cmake-3.2.1]# cd ~ && rm -rf cmake-3.2.1* #######Ncurses:提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。 [root@linuxidc ~]# yum -y install ncurses-devel #######bison:GNU分析器生成器 [root@linuxidc ~]# wget -c [root@linuxidc ~]# tar -zxf bison-3.0.tar.gz && cd bison-3.0/ && ./configure [root@linuxidc bison-3.0]# make && make install [root@linuxidc bison-3.0]# cd ~ && rm -rf bison-3.0* #######Boost库:一个开源可移植的C++库,是C++标准化进程的开发引擎之一 [root@linuxidc ~]# wget -c [root@linuxidc ~]# tar -jxf boost_1_57_0.tar.bz2 && cd boost_1_57_0/ [root@linuxidc boost_1_57_0]# ./bootstrap.sh [root@linuxidc boost_1_57_0]# ./b2 stage threading=multi link=shared [root@linuxidc boost_1_57_0]# ./b2 install threading=multi link=shared [root@linuxidc boost_1_57_0]# cd ~ && rm -rf boost_1_57_0* 3 开始进行MySQL5.7.7rc编译前的配置

准备工作做好后,就开始正式配置MySQL5.7.7rc的安装明细了。注意,操作时一定要先把下面反斜杠“\”后面添加的注释文字去掉!!!

######使用cmake命令,开始编译MySQL5.7.7rc [root@linuxidc mysql-5.7.7-rc]# cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ [MySQL安装的根目录] -DMYSQL_DATADIR=/mydata/mysql/data \ [MySQL数据库文件存放目录] -DSYSCONFDIR=/etc \ [MySQL配置文件所在目录] -DMYSQL_USER=mysql \ [MySQL用户名] -DWITH_MYISAM_STORAGE_ENGINE=1 \ [MySQL的数据库引擎] -DWITH_INNOBASE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎] -DWITH_ARCHIVE_STORAGE_ENGINE=1 \ [MySQL的数据库引擎] -DWITH_MEMORY_STORAGE_ENGINE=1 \ [MySQL的数据库引擎] -DWITH_READLINE=1 \ [MySQL的readline library] -DMYSQL_UNIX_ADDR=/var/run/mysql/mysql.sock \ [MySQL的通讯目录] -DMYSQL_TCP_PORT=3306 \ [MySQL的监听端口] -DENABLED_LOCAL_INFILE=1 \ [启用加载本地数据] -DENABLE_DOWNLOADS=1 \ [编译时允许自主下载相关文件] -DWITH_PARTITION_STORAGE_ENGINE=1 \ -DEXTRA_CHARSETS=all \ [使MySQL支持所有的扩展字符] -DDEFAULT_CHARSET=utf8 \ [设置默认字符集为utf8] -DDEFAULT_COLLATION=utf8_general_ci \ [设置默认字符校对] -DWITH_DEBUG=0 \ [禁用调试模式] -DMYSQL_MAINTAINER_MODE=0 \ -DWITH_SSL:STRING=bundled \ [通讯时支持ssl协议] -DWITH_ZLIB:STRING=bundled [允许使用zlib library]

执行上面的配置命令的结果如下图所示:

MySQL5.7.7rc编译前的配置

4 开始编译和安装MySQL5.7.7rc

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

[root@linuxidc mysql-5.7.7-rc]# make && make install

下图展示的是make命令执行完毕的情况:

编译MySQL5.7.7rc的make命令执行结果

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e2b6b113782edfbea402c792fd4537c5.html