mysql重啟失敗,報錯:starting mysql。 the server quit without updating pid file (/[failed]l/mysql/data/hostname.pid])


 

(/[failed]l/mysql/data/hostname.pid]) 恢復

網上的大部分答案都是:
1. 注釋/etc/my.cnf里的skip-federated注釋掉即#skip-federated;
2. my.cnf文件配置過高,重新定義其中的參數(根據服務器情況定義);
3. 殺掉mysql_safe和mysqld進程,然后再重啟;
4. 當前日志文件過大,超出了my.cnf中定義的大小(默認為64M),刪除日志文件再重啟;

5. 其他情況,查看日志文件(我的是localhost.localdomain.err,具體因人而異),然后具體分析

 

 

我的解決方案是:內存不足,主要是/var目錄內存不足,導致創建  主機名.pid    不能創建主機名.pid

原因是:mysql生成這個文件時候,發現磁盤已經被寫滿,然后關閉時候又把這個pid文件刪除了,導致不能重啟mysql

 

后面重啟數據庫后,數據庫表報錯:can not create/write to file '/tmp/#sql_787_0.MYI'   (error: 28 -no space left on device)

解決方案:在etc/my.cnf    增加一條tmpdir=/home/tmp            然后給chmod 777 /home/tmp 權限,解決表問題

原因猜測:sql發起查詢,然后消耗資源多,但是客戶端這種原因卡掉了,,導致sql查詢表的時候生成一個臨時文件,卡住了,又無法返回,然后一直存在這個臨時文件,下次在查詢時候執行相同記錄,就告訴已經存在臨時文件了,無法執行。(可以移除tmp下的臨時文件,不行的話,重新創建tmp臨時目錄)

 

再次出現innodb表點擊打開顯示不存在,於是最后辦法,刪除表重新建立

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM