linux - mysql 数据库经常报错挂掉
天蓬老师
天蓬老师 2017-04-17 16:12:33
0
3
601
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).

一天出现1-2次,不论怎么reset 都没用,只能重启服务器来解决问题.我觉得是数据库配置问题?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回覆(3)
PHPzhong

只有重啟才能啟動資料庫,檢查後發現記憶體爆了.加上資料庫記憶體分配太多.

洪涛

問題可能的原因有很多,具體什麼原因最好的方法是先查看下錯誤日誌:
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種方法~~~

刘奇

你這一邊都是innodb_pool_buffer_size給太大了,而你的伺服器記憶體太小了,被系統oom了把,建議減小這個值大小,增大伺服器記憶體配置,

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!