毫無(wú)預(yù)兆的,MySQL 罷工了。 用 mysql.server 啟動(dòng)腳本啟動(dòng)之后,沒有任何提示信息就結(jié)束,mysqld進(jìn)程自然是沒有起來(lái)。
把 mysql.server 里面 $bindir/mysqld_safe --datadir=$datadir --pid-file=$server_pid_file >/dev/null 2>&1 這句的輸出重定向去掉后運(yùn)行,結(jié)果發(fā)現(xiàn)報(bào)錯(cuò): File size limit exceedednohup ... ...
這樣看來(lái)自然是有文件太大了。但查看了 mysql 數(shù)據(jù)目錄下相關(guān)的數(shù)據(jù)庫(kù)文件和日志文件,最大的也就幾百兆。 ulimit -a 查看也沒有對(duì)文件大小做任何限制。
經(jīng)過(guò) N 分鐘的郁悶之后,決定用 find / -size +2048000k 查找整個(gè)硬盤上面的可疑文件。結(jié)果是: /var/log/pacct 這個(gè)2G多的大文件冒了出來(lái)。很顯然,這是 SA 激活了 accton 之后產(chǎn)生的日志文件,沒給做回滾。二話不說(shuō),清空 /var/log/pacct 再啟動(dòng)一次 MySQL ,一切恢復(fù)正常!
搞不懂的是為什么 mysql 的啟動(dòng)腳本會(huì)受這樣一個(gè)無(wú)關(guān)痛癢的進(jìn)程統(tǒng)計(jì)日志的影響而導(dǎo)致 mysqld 進(jìn)程完全無(wú)法啟動(dòng)。估計(jì)還是 mysql.server / mysqld_safe 腳本邏輯的問(wèn)題。。
更多信息請(qǐng)查看IT技術(shù)專欄