MySQL 5.7 主要特性:原生支持 Systemd更好的性能:
对于多核 CPU、固态硬盘、锁有着更好的优化更好的 InnoDB 存储引擎更为健壮的复制功能:
复制带来了数据完全不丢失的方案,传统金融客户也可以选择使用MySQL 数据库。
注:mysql-5.6.3 已经支持了多线程的主从复制
新增 sys 库:以后这会是 DBA 访问最频繁的库
环境:Centos7.2
编译安装mysql5.7所需的软件包 :
bison-3.0.4.tar.gz
boost_1_59_0.tar.gz
cmake-3.5.2.tar.gz
mysql-5.7.18.tar.gz
ncurses-5.9.tar.gz
一、准备工作
1. 安装gcc编译器
[root@yankerp ~]#yum install gcc gcc-c++ -y 我这边已经安装好了
2. 在Centos7.2中默认安装了mysql的分支mariadb,所以卸载掉
[root@yankerp ~]# rpm -emariadb-libs –nodeps
二、安装mysql
1.下载安装cmake编译器
下载cmake 3.5.tar.gz http://www.cmake.org/download/
1)编译安装(过程稍长)
[root@yankerpsrc]# tar zxf cmake-3.5.2.tar.gz
[root@yankerpsrc]# cd cmake-3.5.2/
[root@yankerpcmake-3.5.2]# ./bootstrap && gmake && gmake install
安装完成后查看cmake版本
[root@yankerp cmake-3.5.2]# cmake –version
安装ncurses
[root@yankerp src]# tar zxfncurses-5.9.tar.gz
[root@yankerp src]# cd ncurses-5.9/
[root@yankerp ncurses-5.9]#./configure && make && make install
安装bison
[root@yankerp src]# tar zxfbison-3.0.4.tar.gz
[root@yankerp src]# cd bison-3.0.4/
[root@yankerp bison-3.0.4]#./configure && make && make install
安装boost
[root@yankerp src]# tar zxfboost_1_59_0.tar.gz
[root@yankerp src]# mv boost_1_59_0/usr/local/boost
2)创建mysql用户&用户组及目录
[root@yankerp src]# groupadd -rmysql && useradd -r -g mysql -s /bin/false -M mysql
[root@yankerp src]# mkdir/usr/local/mysql //创建目录
[root@yankerp src]# mkdir/usr/local/mysql/data //数据库目录
3)编译安装mysql
1.解压mysql源码包
[root@yankerp src]# tar zxfmysql-5.7.18.tar.gz
[root@yankerp src]# cd mysql-5.7.18/
[root@yankerp mysql-5.7.18]#cmake-DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc-DDEFAULT_CHARSET=UTF8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1-DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_SYSTEMD=1 -DWITH_BOOST=/usr/local/boost
确定了以上输入没有错误后make && make install(以下过程需要等待…很久)
安装结束后优化mysql执行路径
[root@yankerp ~]# echo "exportPATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@yankerp ~]# source/etc/profile
设置权限并初始化mysql
[root@yankerp ~]# cd /usr/local/mysql/
[root@yankerp mysql]# chown -R mysql:mysql/usr/local/mysql/
[root@yankerp mysql]# mysqld --initialize --user=mysql--basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
以上方框生成一个随机密码(注意保存待会登陆时需要用的到)
创建mysql配置文件
[root@yankerp mysql]# vim/etc/my.cnf
重新载入 systemd,扫描新的或有变动的单元
[root@yankerp mysql]# systemctldaemon-reload
配置mysql自动启动
[root@yankerp mysql]# cp/usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system
在mysql.service把默认的pid文件指定到了/var/run/mysqld/目录因此需要手动建立该目录并把权限给mysql用户
[root@yankerp mysql]# mkdir /var/run/mysqld
[root@yankerp mysql]# chown -R mysql:mysql/var/run/mysqld/
最后启动mysql服务
[root@yankerp mysql]# systemctl start mysqld
[root@yankerp mysql]# netstat -anpt | grep mysqld
tcp6 0 0 :::3306 :::* LISTEN 99777/mysqld
登陆mysql数据库
第一次登陆后查询数据时会报出以下错误,提示需要更改密码
我们更改密码后再次进入数据库测试
[root@yankerp ~]# mysqladmin -uroot-p'JnoUT%&cg28p' password pwd123
此时mysql5.7已经正式安装完成