linux - mysql 數據庫經常報錯掛掉
問題描述
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
一天出現1-2次,不論怎么reset 都沒用,只能重啟服務器來解決問題.我覺得是數據庫配置問題?
問題解答
回答1:只有重啟才能啟動數據庫,檢查后發現內存爆了.加上數據庫內存分配太多.
回答2:問題可能的原因有多種,具體什么原因最好的辦法是先查看下錯誤日志:1、可能是/usr/local/mysql/data/mysql.pid文件沒有寫的權限解決方法 :給予權限,執行 “chown -R mysql:mysql /var/data” “chmod -R 755 /usr/local/mysql/data” 然后重新啟動mysqld!
2、可能進程里已經存在mysql進程解決方法:用命令“ps -ef|grep mysqld”查看是否有mysqld進程,如果有使用“kill -9 進程號”殺死,然后重新啟動mysqld!
3、可能是第二次在機器上安裝mysql,有殘余數據影響了服務的啟動。解決方法:去mysql的數據目錄/data看看,如果存在mysql-bin.index,就趕快把它刪除掉吧,它就是罪魁禍首了。本人就是使用第三條方法解決的 !
4、mysql在啟動時沒有指定配置文件時會使用/etc/my.cnf配置文件,請打開這個文件查看在[mysqld]節下有沒有指定數據目錄(datadir)。解決方法:請在[mysqld]下設置這一行:datadir = /usr/local/mysql/data
5、skip-federated字段問題解決方法:檢查一下/etc/my.cnf文件中有沒有沒被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
6、錯誤日志目錄不存在解決方法:使用“chown” “chmod”命令賦予mysql所有者及權限
7、selinux惹的禍,如果是centos系統,默認會開啟selinux解決方法:關閉它,打開/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤退出重啟機器試試。
可以嘗試第7種方法~~~
回答3:你這一邊都是innodb_pool_buffer_size給太大了,而你的服務器內存太小了,被系統oom了把,建議減小這個值大小,增大服務器內存配置,
相關文章:
1. django - 后臺返回的json數據經過Base64加密,獲取時用python如何解密~!2. css3 - 請問一下在移動端CSS布局布局中通常需要用到哪些元素,屬性?3. 我在centos容器里安裝docker,也就是在容器里安裝容器,報錯了?4. 我的html頁面一提交,網頁便顯示出了我的php代碼,求問是什么原因?5. tp6表單令牌6. angular.js - 如何通俗易懂的解釋“依賴注入”?7. docker 17.03 怎么配置 registry mirror ?8. node.js - node 客戶端socket一直報錯Error: read ECONNRESET,用php的socket沒問題哈。。9. 老哥們求助啊10. 在MySQL中新增字段時,報錯??
