編譯安裝MySQL-5.7.22版本
阿新 • • 發佈:2020-07-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