编译安装MySQL-5.7.22版本
官网下载所需版本
-
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' ##设置密码