一、安裝MySQL5.7
1、在CentOS7上執行以下命令:
yum install -y wget
wget https://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum localinstall -y mysql57-community-release-el7-10.noarch.rpm
yum install -y mysql-server
2、啟動MySQL並設置MySQL開機啟動:
systemctl start mysqld.service
systemctl enable mysqld.service
二、修改MySQL數據庫字符集
默認情況下MySQL的字符集為Latin1,因此需要將MySQL的字符集修改為utf8mb4,執行以下命令:
vim /etc/my.cnf
在[mysqld]標籤下添加:
collation-server = utf8mb4_unicode_ci
character-set-server = utf8mb4
init_connect='SET NAMES utf8mb4'
保存並退出後重啟MySQL服務:
systemctl restart mysqld.service
三、MySQL優化配置
1. 關閉不必要的服務
在MySQL安裝完成後,MySQL默認會啟動多個服務,其中一些服務並不是必須的,因此可以關閉這些不必要的服務。
vim /etc/my.cnf
在[mysqld]標籤中添加以下內容,並保存:
#禁用mysql的DNS解析
skip-name-resolve
#關閉query cache 開啟它後,會導致高並發性能問題:
query_cache_type=0
query_cache_size=0
#在事務提交前會執行commit
innodb_flush_log_at_trx_commit = 2
#線程池插件在生產環境上一定要使用
plugin-load=thread_pool.so
重啟MySQL服務:
systemctl restart mysqld.service
2. 調整MySQL緩衝區大小
在MySQL中,緩存區大小對於性能的影響非常明顯。max_connections值越高,分配給每個線程緩存區的內存就越小,因此需要調整緩衝區大小。
執行以下命令:
vim /etc/my.cnf
在[mysqld]標籤中添加以下內容:
#緩衝區大小設置
key_buffer_size=512M
max_connections=1000
innodb_buffer_pool_size=2G
innodb_log_buffer_size=32M
innodb_flush_log_at_trx_commit=2
保存並退出後重啟MySQL服務:
systemctl restart mysqld.service
3. 修改MySQL的打開文件句柄數量
在MySQL執行過程中,打開的文件數量會隨着連接數的增加而增加,因此需要調整MySQL的打開文件句柄數量。
執行以下命令:
vim /etc/security/limits.conf
在文件末尾添加以下內容:
* soft nofile 655350
* hard nofile 655350
mysql soft nofile 655350
mysql hard nofile 655350
保存並退出後重啟MySQL服務:
systemctl restart mysqld.service
4. 修改MySQL的連接超時時間
在MySQL中,連接超時時間默認為8小時,需要根據實際情況調整。
執行以下命令:
vim /etc/my.cnf
在[mysqld]標籤中添加以下內容:
#連接超時時間設置
wait_timeout=300
interactive_timeout = 300
保存並退出後重啟MySQL服務:
systemctl restart mysqld.service
四、總結
通過以上步驟,您已經成功地在CentOS7上安裝了MySQL5.7並進行了優化配置,使得MySQL的性能得到了進一步提升。
原創文章,作者:SPQPM,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/316681.html