排錯過程:
1、到/tmp/下確實沒有mysql.sock.
2、執行 bin/mysqld_safe –user=mysql ,可以看到提示,資訊放到/var/lib/mysql/zuolong.err檔案裡.zuolong為你的hostname
3、檢視 /var/lib/mysql/yourhostname.err裡面的資訊,看到啟動mysql時,會看在/var/run/mysqld/生成mysqld.sock檔案。
4、用ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock,重啟一下mysql服務,php連線正常。
系統重啟後,/tmp/msyql.sock檔案又沒了,錯誤又出現。
5、執行bin/mysqld_safe –user=mysql –socked=/tmp/mysql.sock在/tmp/裡面可以生成mysql.sock,php也正常。
6、可是重啟以後,系統是不會加上–socked的這項呀,查看了一下mysql自動啟動指令碼vim /etc/init.d/mysql發現裡面也沒涉及到socked的地方。
7、再次跑去修改/etc/my.cnf裡面的socket=/tmp/mysql.sock,結果還是不行。找了大量資料,都發現不了問題。
8、最後,在偶然的機會,發現在/etc/裡面還有一個mysql目錄,進去又發現了一個my.cnf檔案。這個目錄和檔案 都是編譯安裝後自動生成的。而在/etc/下的那個my.cnf是我按網上教程自己copy來的。在裡面無論怎麼配置socket都不生效。
解決:
vim /etc/mysql/my.cnf
一看裡面的配置,就知道問題所在了。
將
socket = /var/run/mysqld/mysqld.sock
修改為
socket = /tmp/mysql.sock
重啟mysql,問題解決
排錯過程:
1、到/tmp/下確實沒有mysql.sock.
2、執行 bin/mysqld_safe –user=mysql ,可以看到提示,資訊放到/var/lib/mysql/zuolong.err檔案裡.zuolong為你的hostname
3、檢視 /var/lib/mysql/yourhostname.err裡面的資訊,看到啟動mysql時,會看在/var/run/mysqld/生成mysqld.sock檔案。
4、用ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock,重啟一下mysql服務,php連線正常。
系統重啟後,/tmp/msyql.sock檔案又沒了,錯誤又出現。
5、執行bin/mysqld_safe –user=mysql –socked=/tmp/mysql.sock在/tmp/裡面可以生成mysql.sock,php也正常。
6、可是重啟以後,系統是不會加上–socked的這項呀,查看了一下mysql自動啟動指令碼vim /etc/init.d/mysql發現裡面也沒涉及到socked的地方。
7、再次跑去修改/etc/my.cnf裡面的socket=/tmp/mysql.sock,結果還是不行。找了大量資料,都發現不了問題。
8、最後,在偶然的機會,發現在/etc/裡面還有一個mysql目錄,進去又發現了一個my.cnf檔案。這個目錄和檔案 都是編譯安裝後自動生成的。而在/etc/下的那個my.cnf是我按網上教程自己copy來的。在裡面無論怎麼配置socket都不生效。
解決:
vim /etc/mysql/my.cnf
一看裡面的配置,就知道問題所在了。
將
socket = /var/run/mysqld/mysqld.sock
修改為
socket = /tmp/mysql.sock
重啟mysql,問題解決