记一次在 CentOS 6.7 上编译 MySQL 5.7.10 的过程

该文章根据 CC-BY-4.0 协议发表,转载请遵循该协议。
本文地址:https://fenying.net/post/2015/12/23/compile-mysql-5.7.10-in-centos-6.7/

记录一次编译 MySQL 5.7.10 的过程。

 1主机配置:
 2
 3    CPU: Intel Core i5-3210M 2.50GHz
 4    RAM: 8GB
 5    HardDisk: 500GB (7200 RPM)
 6    OS: MS-Windows 8.1 x64 Pro Update
 7
 8虚拟机配置:
 9
10    Platform: VirtualBox 5.0
11    CPU: Dual Core
12    RAM: 2GB
13    HardDisk: 30GB HDD (System) + 50GB HDD (Data)
14    OS: CentOS 6.7 x86_64
15    MySQL: 5.7.10

下载 mysql-5.7.10.tar.gz 和 boost_1_59_0.tar.gz。其中 boost_1_59_0 解压到 /usr/local/boost_1_59_0。进入 mysql 源代码目录,执行以下命令安装:

 1cmake \
 2    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
 3    -DMYSQL_DATADIR=/www/db/mysql \
 4    -DDEFAULT_CHARSET=utf8 \
 5    -DDEFAULT_COLLATION=utf8_general_ci \
 6    -DWITH_EXTRA_CHARSETS=ALL \
 7    -DMYSQL_TCP_PORT=3306 \
 8    -DMYSQL_USER=mysql \
 9    -DWITH_MYISAM_STORAGE_ENGINE=1 \
10    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
11    -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
12    -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
13    -DWITH_MEMORY_STORAGE_ENGINE=1 \
14    -DWITH_BOOST=/usr/local/boost_1_59_0 \
15    -DMYSQL_UNIX_ADDR=/www/sockets/mysql.sock \
16    -DSYSCONFDIR=/www/config
17make
18make install

完成后,接着初始化数据库,用如下命令:

1mkdir -p /www/db/mysql
2chown mysql:mysql /www/db/mysql
3chmod 0770 /www/db/mysql
4/usr/local/mysql/bin/mysqld \
5    --initialize-insecure \
6    --user=mysql \
7    --basedir=/usr/local/mysql \
8    --datadir=/www/db/mysql

这里注意:我用的是 --initialize-insecure 选项,这个选项在初始化数据库时,将 root 账户的密码设置为空。也可以使用 --initialize 选项,这个选项则会产生一个随机密码,但千万要把它记下来~

好了,将 /usr/local/support-files/mysql.server 复制为 /etc/init.d/mysql 。并启动服务:

1service mysql start

下面用客户端链接试试:

1/usr/local/mysql/bin/mysql -uroot -p

成功~

参考文献:

comments powered by Disqus