問題描述:
1.mysql安裝完成後,使用
service mysqld restart
總是出現stop mysqld service 失敗。
2.使用mysql -uroot -p登入出現找不到 /var/lib/mysql/mysql.sock問題。
3.使用service mysqld status出現 mysql dead but subsys locked
解決方案:
大多數mysql都是rpm方式安裝的。它會自動尋找/var/lib/mysql/mysql.sock這個檔案。
1.首先檢查mysql.sock的位置。
通過/etc/my.cnf中的socket的欄位。
如果沒有/etc/my.cnf這個檔案也會提示 Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)。方法是把尋找伺服器my.cnf的路徑,複製到/etc/目錄下即可。
如果socket如下所示:
socket=/tmp/mysql.sock
如果無法找到mysql.sock檔案或丟失
可以執行
#mysqld_safe
#mysql
2.為mysql.sock增加軟串連(相當於windows中的捷徑)。比如實際的mysql.sock在/tmp/下。
則運行如下命令。
ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock
3.如果上述兩種方法都不生效。那麼使用
3.1 service mysqld restart
3.2 service mysqld status
如果出現 mysql dead but subsys locked
4.方法 1
4.1 service mysqld stop (停止服務)
4.2 rm -fr /var/lib/mysql/* (刪除/var/lib/mysql下的所有檔案)
4.3 rm /var/lock/subsys/mysqld(刪除鎖定檔案)
4.4 killall mysqld (殺死所有mysqld進程)
4.5 service mysql start (啟動mysql服務。)
5.方法2
5.1 查看記錄檔
cat /var/log/mysqld.log
5.2 停止服務
service mysqld stop
5.3 查看mysql進程
ps -aux|grep -i ^mysql
5.4 結束進程
killall mysql
5.5 刪除/var/lib/mysql/*
rm -Rf /var/lib/mysql/*
5.6 查看mysql的全域設定檔
cat /et/my.cnf
5.7 拷貝預配置好的陽曆伺服器選項檔案,/etc/mysql全域設定檔優先順序大於伺服器選項檔案,但這裡有更多的選項。
cp /usr/share/doc/mysql-server-?.??.??/my-small.cnf /var/lib/mysql
5.8 重新建立初始資料庫
mysql_install_db
5.9 檢查和設定服務的運行層級。
chkconfig –level 345 mysqld on
chkconfig –list mysqld
5.10 啟動服務
service mysqld restart
5.11 查看記錄檔
cat /var/log/mysqld.log
大家注意4或5使用1種即可。