linux - mysql 數(shù)據(jù)庫經(jīng)常報錯掛掉
問題描述
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
一天出現(xiàn)1-2次,不論怎么reset 都沒用,只能重啟服務器來解決問題.我覺得是數(shù)據(jù)庫配置問題?
問題解答
回答1:只有重啟才能啟動數(shù)據(jù)庫,檢查后發(fā)現(xiàn)內存爆了.加上數(shù)據(jù)庫內存分配太多.
回答2:問題可能的原因有多種,具體什么原因最好的辦法是先查看下錯誤日志:1、可能是/usr/local/mysql/data/mysql.pid文件沒有寫的權限解決方法 :給予權限,執(zhí)行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新啟動mysqld!
2、可能進程里已經(jīng)存在mysql進程解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進程,如果有使用“kill -9 進程號”殺死,然后重新啟動mysqld!
3、可能是第二次在機器上安裝mysql,有殘余數(shù)據(jù)影響了服務的啟動。解決方法:去mysql的數(shù)據(jù)目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !
4、mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節(jié)下有沒有指定數(shù)據(jù)目錄(datadir)。解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data
5、skip-federated字段問題解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
6、錯誤日志目錄不存在解決方法:使用“chown” “chmod”命令賦予mysql所有者及權限
7、selinux惹的禍,如果是centos系統(tǒng),默認會開啟selinux解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器試試。
可以嘗試第7種方法~~~
回答3:你這一邊都是innodb_pool_buffer_size給太大了,而你的服務器內存太小了,被系統(tǒng)oom了把,建議減小這個值大小,增大服務器內存配置,
相關文章:
1. 關docker hub上有些鏡像的tag被標記““This image has vulnerabilities””2. javascript - Vue 自定義控件v-model雙向綁定3. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?4. docker gitlab 如何git clone?5. dockerfile - [docker build image失敗- npm install]6. html5 - vue 里的Elemen UI的時間怎么轉化為時間戳嗎7. linux - mysql源碼安裝遇到的問題8. java - yuicompressor-maven-plugin 合并可用卻不壓縮, 哪配置不對?9. docker網(wǎng)絡端口映射,沒有方便點的操作方法么?10. angular.js使用$resource服務把數(shù)據(jù)存入mongodb的問題。
