mysql

centos6下源码安装mysql5.7.18

2017-06-01  本文已影响66人  天之轩

系统环境

[root@lamp0 ~]# cat /etc/redhat-release 
CentOS release 6.9 (Final)
[root@lamp0 ~]# uname -r
2.6.32-696.1.1.el6.x86_64
[root@lamp0 ~]# uname -m
x86_64

mysql5.7.18源码包获取

https://dev.mysql.com/downloads/mysql/

1.jpg

这里下载的是Generic Linux (Architecture Independent), Compressed TAR Archive Includes Boost Headers(mysql-boost-5.7.18.tar.gz),因为mysql5.7以后版本源码编译必须指定boost,如果下载的是mysql-5.7.18.tar.gz,你需要去boost官网下载boost_1_59_0.tar.gz

安装

安装一些依赖包

yum install -y openssl openssl-devel ncurses-devel libaio-devel zlib-devel gcc gcc-c++ bison

这里要注意openssl、zlib应该确保安装上,不然待会编译时会报错,安装前后都应该检查一下

[root@lamp0 ~]# rpm -qa zlib
zlib-1.2.3-29.el6.x86_64
[root@lamp0 ~]# rpm -qa zlib-devel
zlib-devel-1.2.3-29.el6.x86_64
[root@lamp0 ~]# rpm -qa openssl
openssl-1.0.1e-57.el6.x86_64
[root@lamp0 ~]# rpm -qa openssl-devel
openssl-devel-1.0.1e-57.el6.x86_64

安装CMake(跨平台编译器)
https://cmake.org/download/

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以进行多次不同的编译,如针对于不同平台编译。

# wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

# tar xf cmake-3.5.2.tar.gz
# cd cmake-3.5.2

# yum install -y make gcc gcc-c++ ncurses-devel

# ./bootstrap
# gmake 
# gmake install

解压、编译、安装

tar xf  mysql-boost-5.7.18.tar.gz

mkdir -p /usr/local/mysql/data 

useradd -M mysql -s /sbin/nologin
groupadd mysql
id mysql

chown -R mysql.mysql /usr/local/mysql /usr/local/mysql/data 

cd mysql-5.7.18
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_LIBWRAP=0 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_BOOST=/root/mysql-5.7.18/boost \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci

这里cmake如果出现错误,看错误代码,缺少哪个库。就下载哪个库,重新编译前,应该在mysql5.7.18目录下执行以下代码
make clean
rm CMakeCache.txt

如果cmake成功,出现如下代码
-- Build files have been written to: /root/mysql-5.7.18

最后,
make && make install

接着就是漫长的等待(1个半小时左右)

参考:http://www.cnblogs.com/goozgk/p/5645041.html

上一篇下一篇

猜你喜欢

热点阅读