2011-04-03 59 views
3

昨天我正在使用我的電腦上安裝的MySQL。
我下載的XAMPP,所以我有我改變了對my.cnf文件的路徑套接字:Mysql問題:沒有mysql.sock

/opt/lampp/var/mysql/mysql.sock 

這個文件只是在那裏。今天,我想繼續做這個工作,我發現文件不存在了,所以我得到了下面的錯誤,而我啓動MySQL服務器:

ERROR 2002 (HY000): 
Can't connect to local MySQL server through socket 
'/opt/lampp/var/mysql/mysql.sock' (2) 

這裏有一些測試中,我提出:

[email protected]:~$ ps -fea | grep mysqld 
1000  15707 15615 0 16:28 pts/1 00:00:00 grep --color=auto mysqld 
[email protected]:~$ ps -fea | grep mysql 
1000  15709 15615 0 16:29 pts/1 00:00:00 grep --color=auto mysql 

作爲一種可能的解決方案,我卸載了xampp並重新安裝了它,並且還安裝了一個新的MySQL服務器,以防萬一。無論如何,該文件已不存在了。

編輯 凡的mysql.sock是應該的,而不是有兩個文件mysql_upgrade_info(其中只包含5.5.8),另一個二進制文件名爲ubuntu.err:

[email protected]:/opt/lampp/var/mysql$ sudo cat ubuntu.err 
110403 17:28:52 mysqld_safe Starting mysqld daemon with databases from /opt/lampp/var/mysql 
110403 17:28:52 [Note] Plugin 'FEDERATED' is disabled. 
/opt/lampp/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 
110403 17:28:52 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
InnoDB: The InnoDB memory heap is disabled 
InnoDB: Mutexes and rw_locks use InnoDB's own implementation 
InnoDB: Compressed tables use zlib 1.2.3 
110403 17:28:52 InnoDB: Initializing buffer pool, size = 16.0M 
110403 17:28:52 InnoDB: Completed initialization of buffer pool 
110403 17:28:52 InnoDB: Operating system error number 13 in a file operation. 
InnoDB: The error means mysqld does not have the access rights to 
InnoDB: the directory. 
InnoDB: File name /opt/lampp/var/mysql/ibdata1 
InnoDB: File operation call: 'create'. 
InnoDB: Cannot continue operation. 
110403 17:28:52 mysqld_safe mysqld from pid file /opt/lampp/var/mysql/ubuntu.pid ended 
110403 17:29:22 mysqld_safe Starting mysqld daemon with databases from /opt/lampp/var/mysql 
110403 17:29:22 [Note] Plugin 'FEDERATED' is disabled. 
/opt/lampp/sbin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13) 
110403 17:29:22 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
InnoDB: The InnoDB memory heap is disabled 
InnoDB: Mutexes and rw_locks use InnoDB's own implementation 
InnoDB: Compressed tables use zlib 1.2.3 
110403 17:29:22 InnoDB: Initializing buffer pool, size = 16.0M 
110403 17:29:22 InnoDB: Completed initialization of buffer pool 
110403 17:29:22 InnoDB: Operating system error number 13 in a file operation. 
InnoDB: The error means mysqld does not have the access rights to 
InnoDB: the directory. 
InnoDB: File name /opt/lampp/var/mysql/ibdata1 
InnoDB: File operation call: 'create'. 
InnoDB: Cannot continue operation. 
110403 17:29:22 mysqld_safe mysqld from pid file /opt/lampp/var/mysql/ubuntu.pid ended 

(對不起,我不知道如何以適當的方式顯示終端消息) 任何人都可以幫助我嗎?提前致謝!

回答

6

你可以找到實際的套接字文件,並創建一個符號鏈接導致它如下:

# check path to socket from mysql settings 
mysqladmin | grep d.sock 

# create a symbolic link 
ln -s path_to_mysql_socket /opt/lampp/var/mysql/mysql.sock 
+0

問題是我沒有mysql.sock文件 – 2011-04-03 15:17:07

+0

你還沒有證明mysql正在運行 – BugFinder 2011-04-03 15:20:21

+0

你是否手動啓動mysql服務? – 2011-04-03 15:26:34

1

雖然你做的測試有點亂碼,我會假設測試只是證明mysql沒有運行。

根據MySQL的配置方式本身應該有一個啓動文件的地方,通常是周圍的/etc/rc.*目錄,你需要運行rc.mysql開始(也可能是在一個S<nn>MySQL rc3.d中的目錄,例如

+0

我從rc0.d到rc6.d,但沒有一個沒有這些文件。即使再次重新安裝 – 2011-04-03 15:00:37

+0

如果這些目錄中沒有任何文件與mysql中的任何目錄一起使用,那就是爲什麼它不能自動啓動。我沒有用ubunto來查看mysql被安裝到哪個目錄,但是那裏可能有一個啓動腳本。檢查你在mysql目錄中有哪些文件 – BugFinder 2011-04-03 15:21:43

+0

我仍在尋找它,但沒有成功。哪裏有mysql。襪子應該是,而是有兩個文件mysql_upgrade_info(其中只包含5.5.8)和另一個二進制文件稱爲ubuntu.err – 2011-04-03 15:41:33

1

我沒有找到某種原因,我的問題 我只是unisntalled並重新安裝,然後一切正常。
這不是一個真正的解決方案,但它工作。祝你好運

+0

面對類似的解決方案,mysql現在運行良好,突然之間mysql.sock文件變成了AWOL – pal4life 2014-06-23 16:10:05

0

當我向*。*授予其他用戶時,我遇到了同樣的情況。 Mysql試圖爲mysql數據庫提供權限,並引發了這場災難:即刻,mysql.sock文件消失了。

發生這種情況與5.6版

0

我與你有同樣的問題,我發現一些有用的信息:

2015-08-14 10:51:17 30934 [ERROR] InnoDB: Unable to lock /opt/lampp/var/mysql/ibdata1, error: 11 
2015-08-14 10:51:17 30934 [Note] InnoDB: Check that you do not already have another mysqld process using the same InnoDB data or log files. 

所以,我重新啓動電腦並重新啓動XAMPP,問題是解決。