记一次在 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
成功~
参考文献:
-
Installing MySQL from Source
http://dev.mysql.com/doc/refman/5.7/en/source-installation.html
-
Initializing the Data Directory
http://dev.mysql.com/doc/refman/5.7/en/data-directory-initialization.html
comments powered by Disqus