linux - mysql 數(shù)據(jù)庫經(jīng)常報(bào)錯(cuò)掛掉
問題描述
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
一天出現(xiàn)1-2次,不論怎么reset 都沒用,只能重啟服務(wù)器來解決問題.我覺得是數(shù)據(jù)庫配置問題?
問題解答
回答1:只有重啟才能啟動(dòng)數(shù)據(jù)庫,檢查后發(fā)現(xiàn)內(nèi)存爆了.加上數(shù)據(jù)庫內(nèi)存分配太多.
回答2:問題可能的原因有多種,具體什么原因最好的辦法是先查看下錯(cuò)誤日志:1、可能是/usr/local/mysql/data/mysql.pid文件沒有寫的權(quán)限解決方法 :給予權(quán)限,執(zhí)行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新啟動(dòng)mysqld!
2、可能進(jìn)程里已經(jīng)存在mysql進(jìn)程解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進(jìn)程,如果有使用“kill -9 進(jìn)程號(hào)”殺死,然后重新啟動(dòng)mysqld!
3、可能是第二次在機(jī)器上安裝mysql,有殘余數(shù)據(jù)影響了服務(wù)的啟動(dòng)。解決方法:去mysql的數(shù)據(jù)目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍?zhǔn)琢恕1救司褪鞘褂玫谌龡l方法解決的 !
4、mysql在啟動(dòng)時(shí)沒有指定配置文件時(shí)會(huì)使用/etc/my.cnf配置文件,請(qǐng)打開這個(gè)文件查看在[mysqld]節(jié)下有沒有指定數(shù)據(jù)目錄(datadir)。解決方法:請(qǐng)?jiān)赱mysqld]下設(shè)置這一行:datadir = /usr/local/mysql/data
5、skip-federated字段問題解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
6、錯(cuò)誤日志目錄不存在解決方法:使用“chown” “chmod”命令賦予mysql所有者及權(quán)限
7、selinux惹的禍,如果是centos系統(tǒng),默認(rèn)會(huì)開啟selinux解決方法:關(guān)閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機(jī)器試試。
可以嘗試第7種方法~~~
回答3:你這一邊都是innodb_pool_buffer_size給太大了,而你的服務(wù)器內(nèi)存太小了,被系統(tǒng)oom了把,建議減小這個(gè)值大小,增大服務(wù)器內(nèi)存配置,
相關(guān)文章:
1. mysql建表報(bào)錯(cuò),查手冊(cè)看不懂,求解?2. 求大神支招,php怎么操作在一個(gè)html文件的<head>標(biāo)記內(nèi)添加內(nèi)容?3. 致命錯(cuò)誤: Class ’appfacadeTest’ not found4. PHP類屬性聲明?5. php點(diǎn)贊一天一次怎么實(shí)現(xiàn)6. 怎么php怎么通過數(shù)組顯示sql查詢結(jié)果呢,查詢結(jié)果有多條,如圖。7. 在應(yīng)用配置文件 app.php 中找不到’route_check_cache’配置項(xiàng)8. 老師們php,插入數(shù)據(jù)庫mysql,都是空的,要怎么解決9. sql語句 - 如何在mysql中批量添加用戶?10. phpstady在win10上運(yùn)行
