1. 程式人生 > 資料庫 >linux下安裝mysql及mysql.sock問題

linux下安裝mysql及mysql.sock問題

最近在linux上裝Aphace,mysql,php時,遇到很多問題,在裝apache和php遇到的問題要簡單點,在百度,google上一搜就解決了,唯獨在裝mysql的時候遇到了一個問題困擾了我很久。

我用的是ubuntu7.0.我裝mysql時,執行mysqladmin version時,始終出錯:

 can't connect to local MySQL server through socket 'var/run/mysqld/mysqld.sock'

這個把我弄得幾近崩潰,我在網上查找了很多的解決辦法,大概有幾種解決方案:

1.許可權問題

2.修改/etc/my.cnf檔案

3.作業系統或mysql升級

4.建立/var/run/mysqld/mysqld.sock

以上的方法我都試過了,結果都沒有解決問題。我差不多要放棄了,不過我想再堅持一下,一定能夠解決掉的。我準備發郵件想easychen,zoltan請 教,正當我要發郵件的時候,我想能不能換個思維,我的想法是:既然can't connect to socket '/var/run/mysqld/mysqld.sock',那麼我在連結socket時,在後面加上socket引數不就得了麼,

即:mysqladmin version --socket == /tmp/mysql.sock

沒有想到的事情發生了,問題居然解決了,太高興了。問題雖然解決了,但是卻不知道為什麼這樣,為什麼預設是/var/run/mysqld /mysqld.sock?我在my.cnf檔案裡查了一下,client和mysqld中的socket路徑都是/tmp/mysql.sock,而且 在編譯時指定的socket也是/tmp/mysql.sock!這點確實有點不懂,看來我得需要在網上在找找答案了!望知情人士多多指教。

下面在單獨給大家介紹下liunx mysql.sock問題

錯誤程式碼:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock '

mysql.sock根本就不在 /var/lib/mysql 目錄下。自己的目錄在 /tmp/mysql.sock

於是做了一個連線。

 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock

重新啟動就好了

注:ln用法:ln -s 原始檔 目標檔案 ln命令詳情:

總結

以上所述是小編給大家介紹的linux下安裝mysql及mysql.sock問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!