CentOS 7中升級MySQL 5.7.23的坑與解決方法
前言
最近發(fā)現(xiàn)CentOS 7下升級MySQL5.7.23的一個坑,以前面升級到MySQL 5.7.23的一個集群為例
在我們環(huán)境下打開文件描述符個數(shù)的參數(shù)open_files_limit在MySQL 5.6.21下都統(tǒng)一配置為65535,而CentOS 7系統(tǒng)下安裝MySQL5.7.23的open_files_limit參數(shù)的默認(rèn)值為5000
否則像分區(qū)表數(shù)量較多的集群,打開的文件個數(shù)過大時,數(shù)據(jù)庫就會報錯。
原因如下:
1、CentOS 7安裝MySQL5.7.23,服務(wù)管理發(fā)生了變化,從sysvinit(service mysql start)變化為systemd(systemctl start mysqld.service)
2、CentOS 7下Limit的配置由下面配置文件來決定
全局設(shè)置:/etc/systemd/system.conf(如DefaultLimitNOFILE=65535)
服務(wù)設(shè)置:[Service]默認(rèn)值為5000,應(yīng)該將LimitNOFILE修改為65535
【測試】
1、全局配置文件/etc/systemd/system.conf
2、service配置文件/usr/lib/systemd/system/mysqld.service
3、mysql配置文件/etc/my.cnf
【結(jié)論】
1、當(dāng)以systemd管理mysql服務(wù)時,在下面3個配置文件中同時制定open_files_limit參數(shù)時,最終會以service配置文件為準(zhǔn)
2、當(dāng)service相關(guān)配置值注釋掉時,會以全局配置文件為準(zhǔn)
【解決方案】
1、單臺修復(fù)方法,按下面步驟
#修改配置 vim /usr/lib/systemd/system/mysqld.service #重載 systemctl daemon-reload #重啟服務(wù)生效 systemctl restart mysqld@replica01.service
2、安裝包修復(fù)方法,修改下面兩個源文件,將5000增加到65535,重新打包發(fā)布,這樣新版本默認(rèn)會保持與MySQL5.6.21相同的配置
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
Mysql的列修改成行并顯示數(shù)據(jù)的簡單實現(xiàn)
這篇文章主要介紹了Mysql的列修改成行并顯示數(shù)據(jù)的簡單實現(xiàn),本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2016-10-10Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換問題
這篇文章主要介紹了Mysql中in和exists的區(qū)別?&?not?in、not?exists、left?join的相互轉(zhuǎn)換,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09巧用mysql提示符prompt清晰管理數(shù)據(jù)庫的方法
隨著管理mysql服務(wù)器越來越多,同樣的mysql>的提示符有可能會讓你輸入錯誤的命令到錯誤的數(shù)據(jù)庫,這時候需要巧用mysql的提示符,這是我的提示符root@localhost(mysql) 08:55:21> 用prompt命令實現(xiàn)(適用于windows和linux環(huán)境)2009-08-08MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡單教程
這篇文章主要介紹了MySQL中數(shù)據(jù)導(dǎo)入恢復(fù)的簡單教程,主要用到了LOAD DATA語句,需要的朋友可以參考下2015-05-05