编译 mysql5.7

#参考: http://dev.mysql.com/doc/refman/5.7/en/source-installation.html

#安装编译库
[root@166087 mysql-5.7.10]# yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

#5.7 需要这个C++标准库
[root@166087 mysql-5.7.10]# wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
[root@166087 mysql-5.7.10]# wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.9.tar.gz

[root@166087 mysql-5.7.10]# useradd -M -s /sbin/nologin mysql

[root@166087 mysql-5.7.10]# tar xzf boost_1_59_0.tar.gz
[root@166087 mysql-5.7.10]# tar xzf mysql-5.7.9.tar.gz

[root@166087 mysql-5.7.10]# mkdir -p /data/mysql

[root@166087 mysql-5.7.10]# cd mysql-5.7.9

#自己修改编译路径
[root@166087 mysql-5.7.10]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/data/mysql \
-DDOWNLOAD_BOOST=1 \   #从MySQL 5.7.5开始Boost库是必需的
-DWITH_BOOST=../boost_1_59_0 \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DWITH_FEDERATED_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DENABLE_DTRACE=0 \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_EMBEDDED_SERVER=1

#多核编译
[root@166087 mysql-5.7.10]# make -j `grep processor /proc/cpuinfo | wc -l` 

[root@166087 mysql-5.7.10]# make install

[root@166087 mysql-5.7.10]# /bin/cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld

[root@166087 mysql-5.7.10]# chmod +x /etc/init.d/mysqld

[root@166087 mysql-5.7.10]# chkconfig --add mysqld
[root@166087 mysql-5.7.10]# chkconfig mysqld on

[root@166087 mysql-5.7.10]# /usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql

#–initialize”会生成一个随机密码(~/.mysql_secret),而–initialize-insecure不会生成密码
[root@166087 mysql-5.7.10]# mysql -S /var/lib/mysql/mysql.sock -e "grant all privileges on *.* to root@'localhost' identified by \"123456a\"";

你可能感兴趣的:(编译 mysql5.7)