最近接手維護(hù)一臺MySQL服務(wù)器,系統(tǒng)是ubuntu 16.04,mysql版本5.7,安裝方式是apt檢查mysql配置參數(shù)時發(fā)現(xiàn)open_files_limit是1024,有點小,需要調(diào)大一點
在廣豐等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需網(wǎng)站開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站制作,廣豐網(wǎng)站建設(shè)費用合理。
首先show global status like 'open_files_limit' 查看目前打開了多少文件,一看是900多,很明顯1024太小,需要調(diào)大,于是修改/etc/my.cnf 將open_files_limit 設(shè)置為65535,然后/etc/init.d/mysql restart重啟mysql。
重啟完登錄mysql用show variables查看發(fā)現(xiàn)配置沒生效,還是1024。查看mysq日志,原來系統(tǒng)文件描述打開限制是1024,小于65535,mysql認(rèn)為配置項不合理,所以用了默認(rèn)值1024,于是修改/etc/secruity/limit.conf,添加以下兩行
* soft nofile 65535
* hard nofile 65535
修改完退出重新登錄系統(tǒng),使修改生效,然后重啟mysql。心想這下應(yīng)該生效了,然而并沒有!一看還是1024,查看mysql日志,之前的提示系統(tǒng)文件描述符限制的信息已經(jīng)沒事有了,說明系統(tǒng)的問題已經(jīng)解決了,難道還有其他限制,goole了一下,原來還要改一個地方
修改/lib/systemd/system/mysql.service,添加以下兩行
LimitNOFILE=65535
LimitMEMLOCK=65535
然后執(zhí)行以下命令重啟mysql
#systemctl daemon-reload
#systemctl restart mysqld.service
問題解決,open_files_limit變成65536了
總結(jié):ubuntu系統(tǒng)下,要這個配置項生效有3個條件:
1.my.cnf要修改open_files_limit
2.系統(tǒng)open_files_limit的值要大于等于mysql的open_files_limit值
3./lib/systemd/system/mysql.service的open_files_limit值要設(shè)置的與my.cnf一致