剛裝完Mysql5.7,將Mysql添加到開機自啟。reboot之后mysql服務卻沒啟動起來,
直接輸入mysql –uroot –p ,出現如下錯誤,找不到mysql.sock文件。用service mysql restart試了下,但是之后再次連接還是報錯。
先說一下整體思路,這種情況的先看看是否有mysql.sock文件,
①假如有這個文件,那么檢查下/etc/my.cnf中的socket的路徑,看看兩個路徑是否一致。保持一致后,再次重啟就可以解決了。
②假如沒這個文件,表示就沒生成這個文件。用mysqld –user=root & 啟動,之后就能解決這個問題。
下面來描述下具體的過程。
1.先全局查找mysql.sock文件,結果全局並沒有找到。
2.以上用service mysql restart命令去直接重啟報錯,證明這個命令不行。可以嘗試一下其他啟動命令。如mysqld –user=root,之后便成功了。 當然這一步也可以把user=root這個配置到/etc/my.cnf中的[mysqld]下,這樣再用service mysql restart這種命令就會恢復正常。
注:假如在文件種發現mysql.sock文件,路徑和my.cnf一致,但是再啟動還是報錯(如下圖),可以將mysql.sock文件刪除,之后再重啟。
/etc/my.cnf 文件
# 設置mysql的安裝目錄 basedir = /usr/local/mysql # 設置mysql數據庫的數據的存放目錄 datadir = /usr/local/mysql/data character-set-server=utf8 # 允許最大連接數 max_connections=200 port = 3306 # server_id = ..... socket = /tmp/mysql.sock # 創建新表時將使用的默認存儲引擎 default-storage-engine=INNODB # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M #sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES #explicit_defaults_for_timestamp=true user=root
[解決方法]MySql提示:The server quit without updating PID file(…)失敗
啟動mysql時顯示:/tmp/mysql.sock 不存在的解決方法