linux - mysql 數(shù)據(jù)庫(kù)經(jīng)常報(bào)錯(cuò)掛掉
問(wèn)題描述
Starting MySQL... ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).
一天出現(xiàn)1-2次,不論怎么reset 都沒(méi)用,只能重啟服務(wù)器來(lái)解決問(wèn)題.我覺(jué)得是數(shù)據(jù)庫(kù)配置問(wèn)題?
問(wèn)題解答
回答1:只有重啟才能啟動(dòng)數(shù)據(jù)庫(kù),檢查后發(fā)現(xiàn)內(nèi)存爆了.加上數(shù)據(jù)庫(kù)內(nèi)存分配太多.
回答2:問(wèn)題可能的原因有多種,具體什么原因最好的辦法是先查看下錯(cuò)誤日志:1、可能是/usr/local/mysql/data/mysql.pid文件沒(méi)有寫(xiě)的權(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í)沒(méi)有指定配置文件時(shí)會(huì)使用/etc/my.cnf配置文件,請(qǐng)打開(kāi)這個(gè)文件查看在[mysqld]節(jié)下有沒(méi)有指定數(shù)據(jù)目錄(datadir)。解決方法:請(qǐng)?jiān)赱mysqld]下設(shè)置這一行:datadir = /usr/local/mysql/data
5、skip-federated字段問(wèn)題解決方法:檢查一下/etc/my.cnf文件中有沒(méi)有沒(méi)被注釋掉的skip-federated字段,如果有就立即注釋掉吧。
6、錯(cuò)誤日志目錄不存在解決方法:使用“chown” “chmod”命令賦予mysql所有者及權(quán)限
7、selinux惹的禍,如果是centos系統(tǒng),默認(rèn)會(huì)開(kāi)啟selinux解決方法:關(guān)閉它,打開(kāi)/etc/selinux/config,把SELINUX=enforcing改為SELINUX=disabled后存盤(pán)退出重啟機(jī)器試試。
可以嘗試第7種方法~~~
回答3:你這一邊都是innodb_pool_buffer_size給太大了,而你的服務(wù)器內(nèi)存太小了,被系統(tǒng)oom了把,建議減小這個(gè)值大小,增大服務(wù)器內(nèi)存配置,
相關(guān)文章:
1. 關(guān)于docker下的nginx壓力測(cè)試2. javascript - webpack熱加載配置不生效3. debian - docker依賴(lài)的aufs-tools源碼哪里可以找到啊?4. 為什么我ping不通我的docker容器呢???5. angular.js - angular內(nèi)容過(guò)長(zhǎng)展開(kāi)收起效果6. php - 一個(gè)操作請(qǐng)求多個(gè)服務(wù)如何保證數(shù)據(jù)的安全?7. javascript - js代碼獲取驗(yàn)證碼倒計(jì)時(shí)問(wèn)題8. 主從備份 - 跪求mysql 高可用主從方案9. docker start -a dockername 老是卡住,什么情況?10. dockerfile - [docker build image失敗- npm install]
