MySQL 服務無法啟動


  

症狀:前一天在MySQL中刪除了幾個不用的數據庫后登陸MySQL出現以下錯誤:   mysql -u root -p passwd   ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'    查看 /var/run/mysqld/mysqld.sock  根本這個文件不存在了; 有幾個原因可能導致mysqld.sock不存在: 1.沒有安裝mysql-server 2.如果安裝了mysql-server而且它已經運行了 則需要檢查配置文件具體可以看stack overflow的解答: http://stackoverflow.com/questions/11657829/error-2002-hy000-cant-connect-to-local-mysql-server-through-socket-var-run   此時我發現雖然mysql-server已經安裝好了,但是ps -aux | grep 'mysql' 發現mysql服務並沒開啟;  然而 : sudo service mysql start 報錯: start: Job failed to start並且 /var/log/mysql/error.log是空的,無法根據日志排錯;在stack overflow 上看到類似重新安全mysql-server但是還保存原來數據庫數據的方法:http://stackoverflow.com/questions/22909060/mysql-job-failed-to-start 大概步驟:1.備份原來數據庫數據文件以防沒有安裝成功:
sudo mkdir /home/<your username>/mysql/
cd /var/lib/mysql/
sudo cp * /home/<your username>/mysql/ -R
2.為重新安裝而清理mysql
sudo apt-get purge mysql-server-5.1 mysql-common
3.刪除/etc/mysql文件夾以及其中內容
sudo rm /etc/mysql/ -R
4.檢查原來的數據庫文件仍然在/var/lib/mysql/中如果不存在將第一步保存的文件復制到這個文件中並更改它的擁有者和群組為root;
sudo mkdir /var/lib/mysql/
sudo chown root:root /var/lib/mysql/ -R
cd ~/mysql/
sudo cp * /var/lib/mysql/ -R
5.安裝新的mysql server
sudo apt-get install mysql-server
6.重新連接查看原來數據是否存在
mysql -u root -p
passwd
mysql> show databases
-> ;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sql |
+--------------------+
4 rows in set (0.00 sec)
  此時我的mysql又回來原來的狀態了;                    

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com