❶ mysql 的SOCK文件 /var/lib/mysql/mysql.sock 是幹嘛用的
這個文件是負責mysql的連接的,如果該文件不存在,則無法訪問mysql了.
❷ (linux)mysql.sock文件不存在智能重裝
mysql.sock文件是伺服器與本地客戶端進行通信的Unix套接字文件,其默認位置是/tmp/MySQL.sock。這有可能導致問題,原因在於,在某些版本 的Unix上,任何人都能刪除/tmp目錄下的文件。
在大多數Unix版本中,可對/tmp目錄進行保護,使得文件只能被其所有這或 超級用戶(根用戶)刪除。為此,以根用戶身份登錄,並使用下述命令在/tmp目錄上設置粘著位:
shell> chmod +t /tmp
通過執行ls -ld /tmp,可檢查是否設置了粘著位。如果最後一個許可字元是「t」,表明設置了粘著位。
另一種方法是改變伺服器創建Unix套接字文 件的位置。如果進行了這類操作,還應讓客戶端程序知道文件的位置。能夠以多種不同方式指定文件位置:
在全局或局部選項文件中指定路 徑。例如,將下述行置於文件/etc/my.cnf中:
[mysqld]
socket=/path/to/socket
[client]
socket=/path/to/socket
在運行客戶端程序時,在命令行上為mysqld_safe指定「--socket」選項。
將MYSQL_UNIX_PORT環境變 量設置為Unix套接字文件的路徑。
重新從源碼編譯MySQL,以使用不同的默認Unix套接字文件位置。運行configure 時,用「--with-unix-socket-path」選項定義文件路徑。
用下述命令連接伺服器,能夠測試新的套接字位置是否工 作:
shell> mysqladmin --socket=/path/to/socket version
估計沒有完全關閉mysql,又啟動了。
首先我們查找mysql.sock的文件位置,如果忘記了文件的位置,首先查看/etc/my.cnf文件。然後我們將mysql.sock文件進行改名,使用linux的mv命令即可,這里我們改為mysql.sock.bak0830。然後這時候我們再使用命令啟動mysql,servicemysqldstart,會看到出現mysqld啟動OK的字樣。