具體解決方案流程如下
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的啟動使用者更下下密碼,然後在服務項裡設定下即可