官网下载所需版本
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.22.tar.gz
安装依赖包
yum -y install make gcc-c++ cmake bison-devel ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
解压
tar -zxf mysql-boost-5.7.22.tar.gz -C /usr/local/
cd /usr/local/ && mv mysql-5.7.22 mysql
mkdir /usr/local/mysql/mydata
mkdir /usr/local/mysql/conf
useradd -s /sbin/nologin -M 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
make && make install
初始化
/usr/local/mysql/bin/mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql/mydata --basedir=/usr/local/mysql
修改配置文件
vim /usr/local/mysql/conf/my.cnf
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/mydata
socket=/usr/local/mysql/mysql.sock
log_error=/var/log/mysql.log
user=mysql
slow_query_log=ON
slow_query_log_file=/var/log/mysql/slow_query.log
long_query_time=1
[client]
socket=/usr/local/mysql/mysql.sock
touch /var/log/{slow_query,mysql}.log ##创建日志文件
slow_query_log=ON 这个是开启慢查询。注意ON需要大写
slow_query_log_file 这个是存储慢查询的日志文件。这个文件不存在的话,需要自己创建
long_query_time 这个是设置慢查询的时间,我设置的为1秒
配置systemd管理
vim /usr/lib/systemd/system/mysqld.service
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/usr/local/mysql/conf/my.cnf
LimitNOFILE = 5000
配置环境变量 && 启动mysql服务
echo 'export PATH=/usr/local/mysql/bin:$PATH' >>/etc/profile
source /etc/profile
systemctl start mysqld
systemctl enable mysqld
netstat -lntp |grep 3306
mysqladmin -uroot password 'abc123' ##设置密码