回覆列表
  • 1 # 使用者1465424935672

    CannotconnecttoMySQLserver詳細解決方法:

    排錯過程:

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

  • 中秋節和大豐收的關聯?
  • 《陳情令》藍忘機的哥哥是怎麼看出他和魏無羨交手沒打贏的?