前言
最近在數據庫的一張表添加兩個字段,后來提示什么磁盤空間不足什么什么的,后來數據庫就斷開連接了,之后就一直連接不上去后來,最后經過思考終于解決了這個問題,這一經歷下來真是心驚膽戰,本文作為記錄一下磁盤空間不足導致的 mysql 無法啟動的解決辦法。
方法如下
操作系統:ubuntu,磁盤空間不足導致的 mysql 無法啟動,會造成如下問題:
root@iZ28z558vv0Z:/etc/mysql# mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
root@iZ28z558vv0Z:/b# service mysql start
start: Job failed to start
root@iZ28z558vv0Z:/var/lib# service mysqld start
mysqld: unrecognized service
解決辦法:找到 mysql 的配置文件 my.cnf:
root@iZ28z558vv0Z:/etc/mysql# ls
conf.d debian.cnf debian-start my.cnf
root@iZ28z558vv0Z:/etc/mysql# vi my.cnf
其中文件中的 datadir 這一項顯示 /var/lib/mysql
[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
skip-external-locking
因為是磁盤空間不足,所以我們需要查看 mysql 保存數據的所在位置,datadir 或 tmpdir 這兩項所在磁盤空間的使用情況,查看 datadir 所在磁盤空間的使用情況:
root@iZ28z558vv0Z:/var# df /var
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 41151808 39038392 0 100% /
由上可以看出明顯磁盤空間可用率是0,這就是導致 mysql 無法啟動的原因了。刪去 /var 目錄下的其它文件,騰出磁盤空間,即可解決問題,然后重啟 mysql 服務。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
您可能感興趣的文章:- MySQL 利用frm文件和ibd文件恢復表數據
- MySQL之導出整個及單個表數據的操作
- 解決MySQL數據庫意外崩潰導致表數據文件損壞無法啟動的問題
- MySQL Delete 刪數據后磁盤空間未釋放的原因
- Mysql存儲引擎MyISAM的常見問題(表損壞、無法訪問、磁盤空間不足)
- lnmp下如何關閉Mysql日志保護磁盤空間
- 幾個縮減MySQL以節省磁盤空間的建議
- Mysql InnoDB刪除數據后釋放磁盤空間的方法
- 為什么MySQL 刪除表數據 磁盤空間還一直被占用