一、MYSQL的新特性及环境
1、性能更快3倍
2、新的优化器
3、原生的JSON支持
4、多源复制
5、GIS空间扩展
本次部署环境
Linux:CentOS Linux release 7.3.1611 (Core)
MYSQL版本:mysql-5.7.20
二、boost概述
boost是开源免费的第三方库,它是一个非常优秀的库,是C++标准的最好实践之一。
在这里讲使用boost库主要是在对mysql的数据备份时,将会使用的percona-xtrabackup需要用到boost库。
对mysql数据库的备份及其中的报错在我的另一篇文章记录。
三、编译安装
直接下载包
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz
tar -xf mysql-boost-5.7.20.tar.gz
解决依赖问题
yum install -y cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
创建用户、安装路径、数据存放路径、配置文件路径及授权(很重要)。
mkdir /usr/local/mysql
mkdir /usr/local/mysql/mydata
mkdir /usr/local/mysql/conf
useradd mysql
chown -R mysql:mysql /usr/local/mysql/
编译选项
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/mydata \
-DSYSCONFDIR=/usr/local/mysql/conf \
-DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DMYSQL_TCP_PORT=3306 -DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_DEBUG=0 -DMYSQL_MAINTAINER_MODE=0 \
-DWITH_SSL:STRING=bundled -DWITH_ZLIB:STRING=bundled \
-DWITH_SYSTEMD=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=./boost
一定要使用boost,./boost表示是boost的存放路径
-DWITH_SYSTEMD=1 这是MySQL 5.7原生支持Systemd的选项,如果要是用systemctl启动,就必须开启。
在后面将对system的选项,进行解读,其他选项就不多解析。
make && make install
这里消耗的时间有点久,可以玩一会。
配置my.cnf文件
mv /etc/my.cnf /usr/local/mysql/conf/
cd /usr/local/mysql/conf
vim my.cnf
改完my.cnf文件, 一定要将文件属主改为mysql,否则启动不了。
chown mysql:mysql