前言
最近在數(shù)據(jù)庫的一張表添加兩個字段,后來提示什么磁盤空間不足什么什么的,后來數(shù)據(jù)庫就斷開連接了,之后就一直連接不上去后來,最后經(jīng)過思考終于解決了這個問題,這一經(jīng)歷下來真是心驚膽戰(zhàn),本文作為記錄一下磁盤空間不足導(dǎo)致的 mysql 無法啟動的解決辦法。
方法如下
操作系統(tǒng):ubuntu,磁盤空間不足導(dǎo)致的 mysql 無法啟動,會造成如下問題:
1
2
3
4
5
6
7
|
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:
1
2
3
|
root@iZ28z558vv0Z: /etc/mysql # ls conf.d debian.cnf debian-start my.cnf root@iZ28z558vv0Z: /etc/mysql # vi my.cnf |
其中文件中的 datadir 這一項顯示 /var/lib/mysql
1
2
3
4
5
6
7
8
9
10
11
12
13
|
[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 保存數(shù)據(jù)的所在位置,datadir 或 tmpdir 這兩項所在磁盤空間的使用情況,查看 datadir 所在磁盤空間的使用情況:
1
2
3
|
root@iZ28z558vv0Z: /var # df /var Filesystem 1K-blocks Used Available Use% Mounted on /dev/xvda1 41151808 39038392 0 100% / |
由上可以看出明顯磁盤空間可用率是0,這就是導(dǎo)致 mysql 無法啟動的原因了。刪去 /var 目錄下的其它文件,騰出磁盤空間,即可解決問題,然后重啟 mysql 服務(wù)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
原文鏈接:http://www.mafutian.net/228.html