MySQL服務器突然不能啟動,查看最后的啟動日志如下:
080825 09:38:04 mysqld started
080825 9:38:04 [ERROR] Can't start server : Bind on unix socket: Permission denied
080825 9:38:04 [ERROR] Do you already have another mysqld server running on socket: /var/mysql.sock ?
-
080825 9:38:04 [ERROR] Aborting
080825 9:38:04 [Note] /usr/local/mysql/bin/mysqld: Shutdown complete
080825 09:38:04 mysqld ended
my.cnf 配置如下:
[mysqld]
datadir=/usr/local/mysql/data
socket=/var/mysql.sock
[mysql]
socket=/tmp/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
[safe_mysqld]
err-log=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
根據(jù)日志文件顯示,首先檢查運行權(quán)限,再看一下/var/mysql.sock,發(fā)現(xiàn)/var/mysql.sock目錄下并沒有該文件,是否是沒有權(quán)限 寫/var目錄?OK,那就用root用戶運行一下safe_mysqld,啟動正常。使用mysql連接數(shù)據(jù)庫,提示錯誤,連接不到數(shù)據(jù)庫服務器, /tmp目錄下沒有mysql.sock這個文件,到這里,基本清楚了Mysql客戶端和服務器端在本機的通信方式了,通過一個名為mysql.sock 文件來進行初始化通信的,因此該文件所存放的目錄必須雙方都有權(quán)限可以訪問到,而且服務器在啟動時需要寫該文件,如果my.cnf中這兩項配置不正確,就 會出現(xiàn)Permission denied等類似錯誤。將配置文件修改如下,就沒有問題了。
[mysqld]
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
[mysql]
socket=/tmp/mysql.sock
[mysql.server]
user=mysql
basedir=/usr/local/mysql
[safe_mysqld]
err-log=/usr/local/mysql/mysqld.log
pid-file=/usr/local/mysql/mysqld.pid
如果還是不行,那就需要 chmod 777 /tmp 本文出自:億恩科技【www.sunshares.net】
服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM]
|