回覆列表
  • 1 # 使用者4383246126739

    排錯過程:

    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,問題解決

  • 中秋節和大豐收的關聯?
  • 夫妻新婚洞房時的二人被、小墊子、枕頭全都是要求男方給做的嗎?