mysql.sock文件丟失被刪除解決方法

Mysql有兩種鏈接方式: php

(1),TCP/IP 
(2),socket 
對mysql.sock來講,其做用是程序與mysqlserver處於同一臺機器,發起本地鏈接時可用。 
例如你無須定義鏈接host的具體IP得,只要爲空或localhost就能夠。 
在此種狀況下,即便你改變mysql的外部port也是同樣可能正常鏈接。 
由於你在my.ini中或my.cnf中改變端口後,mysql.sock是隨每一次 mysql server啓動生成的。已經根據你在更改完my.cnf後重啓mysql時從新生成了一次,信息已跟着變動。 
那麼對於外部鏈接,必須是要變動port才能鏈接的。 
mysql

解釋:socket是php程序連接操做mysql時候就要用mysql.sock文件要找到這個端口
若是把這個文件刪除啦也就是說php就不知道往那臺機器那個端口去連
[client]
port=3306
socket=/tmp/mysql.sock
[mysqld]
port=3306
socket=/tmp/mysql.sock
skip-lockingsql

在默認狀況下,Mysql安裝之後會在/tmp目錄下生成一個mysql.sock文件,如該文件丟失則Mysql將不可以正常啓動,解決方法:使用mysqld_safe 啓動便可解決;數據庫

#basedir:mysql安裝路徑,默認在/usr/local/mysql下;datadir:數據庫存放路徑,默認在/usr/local/mysql/data
#使用下面的命令啓動後,會在/tmp/下生成一個mysql.sock文件
#./ 即爲:/usr/local/mysql/bin

$ ./mysqld_safe  --user=mysql --basedir=/usr/local/mysql  --datadir=/usr/local/mysql/data &
相關文章
相關標籤/搜索