具體解決方法流程如下
1、刪除mysql的所有pid進程
2、啟動mysql 。如果啟動正常了就ok,如果不正常就看mysql的日志文件
3、查看日志文件,看看報錯信息 根據報錯信息來對應處理mysql無法啟動的問題
狀況1
1 ^G/usr/sbin/mysqld: Disk is full writing './mysql-bin.~rec~' (Errcode: 28). Waiting for someone to free space... (Expect up to 60 secs delay for server to continue after freeing disk space)
這個是我的報錯信息,驚愕 磁盤竟然滿了,下面只有找那個文件夾占用磁盤空間啦
下面就一步一步找了
最後發現是mysql的日志文件占用了大概50G左右的空間,哎呦媽呀,我的服務器就130G。下面就把日志文件關閉並刪除
方法二:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)
修改/etc/my.conf:
代碼如下 復制代碼[mysqld]
datadir=/usr/local/mysql/data
socket=/var/lib/mysql/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
If there is not currently a section called [client], add one at the bottom of the file and copy the socket= line under the [mysqld] section such as:
[client]
socket=/var/lib/mysql/mysql.sock
發現依舊如此,運行/etc/init.d/mysql start報錯: Starting MySQLCouldn't find MySQL manager or server
是mysqld服務沒啟,運行/usr/local/mysql/bin/mysqld_safe &
三、非法關機造成的MYSQL無法啟動問題
如果是因為非法關機等原因導致MYSQL無法啟動或啟動有問題的,最好使用重新安裝的或確認是OK的MYSQL數據表及ibdata1、mysql.pid、ib_logfile0等文件進行覆蓋,天緣試過遇到過多次這種情況,就是原來的MYSQL表有問題了,總是無法啟動,但是更換成新表就可以。
四、重裝MYSQL
發現MYSQL有問題時,最便捷的方法,是先把mysql卸載掉,然後重裝重新配置,具體方法如下:
1、卸載MYSQL,清理掉安裝目錄和Windows目錄下的my.ini文件。
2、檢查任務管理器中是否還有mysql進程,如果有,可以把mysqld.exe殺掉,或者先殺掉再卸載也可以。
3、在cmd命令窗口,執行:sc delete mysql,該命令是清理注冊服務命令。
3. 重裝 mysql
如果是安全設置以後出現這個問題,可能是因為mysql以低權限運行的時候因為密碼策略等問題導致,大家看惡意將mysql的啟動用戶更下下密碼,然後在服務項裡設置下即可