MySQL5.7 配置优化
示例
登錄mysql
首先要登錄到mysql,用下述指令:mysql -h localhost -u root -p -P 3306
查詢當前狀態
輸入show variables like "max_connections";
修改配置文件
在文件/etc/my.cnf中設置Mysql 最大連接數
max_connections =900
重啟mysql
systemctl restart mysqld.service
查詢狀態
輸入show variables like "max_connections";
配置詳解
max_connections
最大并發連接數。當MySQL的并發連接達到這個設定值時,新的連接將會被拒絕。當發現MySQL有能力處理更多的并發的時候, 建議調大這個值,相應給服務器帶來更高的負載(CPU/IO/內存)。默認值:100? 參考設置:900
back_log
TCP/IP連接隊列的最大值。當MySQL同時有大量連接請求的時候,MySQL會嘗試用當前現有的線程處理這些請求,如果處理不過來MySQL會把連接先放到一個隊列里面,然后起新的線程處理。這個過程會很快,但是并發請求很多的話,需要調高這個值,否則新來的連接請求會被拒絕。在一次壓測的時候發現客戶端返回大量的“Lost connection to MySQL”, 就是因為back_log的默認值太小導致的。增大這個值會增大CPU負載并消耗更多的內存。默認值50, 參考設置200
skip-name-resolve
關閉反向域名解析。MySQL默認會對每個客戶端連接作反向域名解析,強烈建議關閉反向域名解析。關閉的方法是在my.cnf里面加一行skip-name-resolve
innodb_file_per_table
獨立表空間。共享表空間指某一個數據庫的所有表數據、索引全部放在一個文件中,默認這個共享表空間的文件路徑在data目錄下,默認的文件名為ibdata1初始化為10M。獨立表空間指每一個表都會生成獨立的.frm表描述文件來存儲,還有一個.ibd文件。其中這個文件包括了單獨一個表的數據內容以及索引內容,默認情況下它的存儲位置也是在表的位置之中。
如果使用innodb,強烈建議打開這個設置,否則所有的innodb表共享一個文件,并且這個文件的大小不會因為表數據的減少而減小,時間長了會把磁盤搞爆。
max_connect_errors
當客戶端連接服務端超時(超過connect_timeout),服務端就會給這個客戶端記錄一次error,當出錯的次數達到max_connect_errors的時候,這個客戶端就會被鎖定。除非執行FLUSH HOSTS命令。默認值10,參考設置1844674407370954751(能設多大,設多大)
connect_timeout
連接超時的秒數。默認值5,參考設置15
slave_net_timeout
MySQL主從復制的時候,當Master和Slave之間的網絡中斷,但是Master和Slave無法察覺的情況下(比如防火墻或者路由問題)。Slave會等待slave_net_timeout設置的秒數后,才能認為網絡出現故障,然后才會重連并且追趕這段時間主庫的數據。默認是3600秒,相信一個小時之后,黃花菜都涼了。默認值3600,參考設置30
lower_case_table_names
?忽略表名大小寫,否則使用mycat時會報錯 lower_case_table_names=1
wait_timeout
連接過期秒數。當一個連接sleep超過wait_timeout秒后,MySQL服務端會中斷這個連接。這個值設置的過長有可能會導致大量的sleep鏈接占用系統資源,過小會導致“MySQL has gone away”的錯誤。默認值28800? 不變
key_buffer
主鍵緩存。如果發現有大量的slow log,可以嘗試調高這個值,相應會帶來更高的內存開銷。
table_cache
給經常訪問的表分配的內存。調大這個值,一般情況下可以降低磁盤IO, 但是相應會占用更多的內存。
MyCat安裝與配置
下載安裝包
[root@master_150 ~]# wget http://dl.mycat.io/1.6.6.1/Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz???????解壓
[root@master_150 ~]# tar -zxvf Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz [root@master_150 ~]# mv mycat /opt/mycat配置環境變量
[root@master_150 ~]# vi /etc/profile export MYCAT_HOME=/opt/mycat export PATH=${MYCAT_HOME}/bin:$PATH[root@master_150 ~]# source /etc/profile未完待續
...
讀寫分離
敬請期待!
主從復制
敬請期待!
總結
以上是生活随笔為你收集整理的MySQL5.7 配置优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: halcon opencv 图像处理面试
- 下一篇: SequoiaDB分布式数据库2022.