人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

淺談mysql 系統(tǒng)用戶最大文件打開數(shù)限制

發(fā)布日期:2022-03-14 11:55 | 文章來源:站長之家

紙上得來終覺淺,絕知此事多宕機(jī)...記錄一下自己很蠢的一次故障處理過程。

上周的時(shí)候,一個(gè)剛上線的系統(tǒng)又開始反映登不上了,因?yàn)樽罱@個(gè)系統(tǒng)也老是出現(xiàn)這個(gè)問題,開發(fā)也一直在找問題中,所以也沒太在意。于是登上操作系統(tǒng),mysql -uroot -p登錄數(shù)據(jù)庫,然后就一直沒反應(yīng),登不上...

交代一下,mysql是裝在mysql用戶下的,裝的時(shí)候雖然對(duì)數(shù)據(jù)庫參數(shù)有進(jìn)行調(diào)優(yōu),但是操作系統(tǒng)層面沒做調(diào)整,所以mysql用戶的最大文件打開數(shù)限制為默認(rèn)的1024,用ulimit -n可以查詢。然后我在用mysql的root賬號(hào)登錄數(shù)據(jù)庫的時(shí)候也是在mysql這個(gè)系統(tǒng)用戶下登錄的,然后看了下當(dāng)時(shí)服務(wù)器的負(fù)載,cpu和內(nèi)存這些都很正常,但是存在大量應(yīng)用到數(shù)據(jù)庫的連接。

到這兒?jiǎn)栴}應(yīng)該就很清楚了,系統(tǒng)用戶mysql文件打開數(shù)可能達(dá)到了最大限制,當(dāng)然不能打開更多的連接。

然而當(dāng)時(shí)我并沒有想到這一點(diǎn),我想到的不是換個(gè)系統(tǒng)用戶登錄,不是停掉應(yīng)用,而是重啟數(shù)據(jù)庫。。。而且這個(gè)數(shù)據(jù)庫跑的不只這一個(gè)業(yè)務(wù),雖然也都不是什么重要的業(yè)務(wù)。。。

于是我就準(zhǔn)備重啟數(shù)據(jù)庫,仍然是在mysql用戶下執(zhí)行mysqladmin -uroot -p shutdown。毫無疑問,這肯定也是沒有反應(yīng)的,道理跟前面root賬號(hào)連不上數(shù)據(jù)庫是一樣的,ctrl+C后有以下報(bào)錯(cuò)

^Cmysqladmin: connect to server at 'localhost' failed
error: 'Lost connection to MySQL server at 'waiting for initial communication packet', system error: 4'

然后我就做了個(gè)更蠢的操作,雖然想著可能會(huì)丟數(shù)據(jù),殺掉了mysql進(jìn)程。。。然后重啟mysql,系統(tǒng)也就可用了。是真的很蠢,做完之后馬上就想起有多種更好的處理方法,卻選擇了最蠢的一種。

今天再登上數(shù)據(jù)庫看的時(shí)候,發(fā)現(xiàn)有幾個(gè)參數(shù)跟我配置文件里寫的不一樣,比如max_connections、table_open_cache等,都是設(shè)置的默認(rèn)值,看了下上次啟動(dòng)日志,確實(shí)也有告警

2019-03-15T08:14:03.038750Z 0 [Warning] Changed limits: max_open_files: 1024 (requested 12010)
2019-03-15T08:14:03.038911Z 0 [Warning] Changed limits: max_connections: 214 (requested 2000)
2019-03-15T08:14:03.038916Z 0 [Warning] Changed limits: table_open_cache: 400 (requested 5000)

很明顯,mysql根據(jù)參數(shù)設(shè)置計(jì)算了實(shí)例需要打開的最大文件數(shù)超過了當(dāng)前系統(tǒng)用戶的最大限制,于是沒有使用該參數(shù)而使用了默認(rèn)值。當(dāng)然啟動(dòng)起來數(shù)據(jù)庫也是可用的,啟起來后也可以手動(dòng)把設(shè)置參數(shù)

set global max_connections=2000;
set global table_open_cache=5000;

只不過就很有可能出現(xiàn)我之前出現(xiàn)的問題了,也就是數(shù)據(jù)庫連接數(shù)并沒有達(dá)到max_connections的限制,用戶仍然連接不上。需要說明的是,正常情況下就算連接數(shù)滿了,mysql仍然會(huì)為root用戶保留一個(gè)連接,也就是root用戶是可以登錄數(shù)據(jù)庫查看問題的。

要解決也很簡(jiǎn)單,增大操作系統(tǒng)用戶mysql的限制值就行了,在配置文件/etc/security/limits.conf后面加上新的限制值就行了。

mysql  soft  nofile 32768
mysql  hard  nofile 65535

以上所述是小編給大家介紹的mysql 系統(tǒng)用戶最大文件打開數(shù)限制詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)本站網(wǎng)站的支持!

香港快速服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部