系统环境:CentOS 6.7
MYSQL版本:5.7.11

 

安装依赖包
yum -y install gcc gcc-c++ ncurses ncurses-devel cmake

 

查看系统是否自带mysql和boost,如有则先卸载
rpm -qa mysql boost
yum remove -y mysql
rm /etc/my.cnf -f     #删除系统原有的mysql配置文件,如果有的话
yum remove -y boost

 

下载相应源码包
cd ~/tools/
wget http://downloads.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz
wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.11.tar.gz

 

添加mysql用户
useradd -M -s /sbin/nologin mysql

 

安装boost
tar xf boost_1_59_0.tar.gz
mv boost_1_59_0 /usr/local/boost

 

安装mysql
cd ~/tools/
tar xf mysql-5.7.11.tar.gz
cd  mysql-5.7.11

cmake编译
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DENABLE_DOWNLOADS=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
make && make install

 

如果编译出错, 重新编译前,需要清除旧的对象文件和缓存信息
make clean
rm -f CMakeCache.txt

 

更改mysql目录属组
chown -R mysql.mysql /usr/local/mysql/

 

从mysql5.7 开始,初始化系统表不再使用mysql_install_db命令,而是使用mysqld --initialize-insecure --user=mysql,其中
--initialize表示默认生成一个安全的密码,--initialize-insecure表示不生成密码,密码为空
cd /usr/local/mysql
bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

 

注册成系统服务
cp support-files/mysql.server /etc/init.d/mysqld
chkconfig mysqld on
service mysqld start

查看进程:
netstat -lntp | grep mysql
lsof -i :3306

 

添加环境变量
vim /etc/profile 增加一行
PATH=$PATH:/usr/local/mysql/bin
. /etc/profile

 

设置mysql密码
登陆前:mysqladmin -uroot -p password '123456'
登陆后:SET PASSWORD FOR 'root'@'localhost'=PASSWORD('123456');

 

登陆mysql测试
mysql -uroot -p123456

 

至此MySQL 5.7.11 在CentOS6.7上的安装完毕!