1. 程式人生 > >《Web集群實戰》第6章MySQL搭建WordPress遇到“建立數據庫連接時出錯”的問題

《Web集群實戰》第6章MySQL搭建WordPress遇到“建立數據庫連接時出錯”的問題

def 建立 方法 mysql 5.7 mysqli 登錄 但是 應該 錯誤

MySQL 5.7.24搭建WordPress遇到報錯“建立數據庫連接時出錯”的問題:
技術分享圖片
已經做了wordpress庫的創建和授權,數據庫連接信息的填寫也跟《Web集群實戰》書上安裝WordPress的方法是一樣的:
技術分享圖片
1、首先懷疑是數據庫命令哪裏敲錯了,重新檢查了一遍,沒有發現錯誤。
2、下載phpMyAdmin管理工具,對MySQL數據庫連接進行測試,提示“無法登錄MySQL 服務器”,說明是數據庫連接的問題。
3、查閱資料,得知:
連接MySQL數據庫有兩種方式:TCP/IP(一般理解的端口的那種)和Unix套接字(一般叫socket或者sock)。大部分情況下,可以用localhost代表本機127.0.0.1,但是在MySQL連接時,二者不可混用,而且MySQL中權限設置中localhost與127.0.0.1也是分開設置的。當設置為127.0.0.1時,系統通過TCP/IP方式連接數據庫;當設置為localhost時,系統通過socket方式連接數據庫。
由於我配置的localhost默認是sock方式連接。所以有兩種思路,要麽修復sock方式,要麽改用TCP/IP方式。
4、解決數據庫連接問題:
(1)改用TCP/IP方式連接MySQL,最簡單:
原來填寫的數據庫主機名是localhost
技術分享圖片
把數據庫主機名改成127.0.0.1就行了
技術分享圖片
其他都不用改,直接點提交,已經可以了。
技術分享圖片
(2)修復socket方式,修改php.ini來連接MySQL:
通過phpinfo()查看,發現mysqli模塊和pdo_mysql模塊下的默認socket路徑不一致,應該是編譯時寫錯或沒配。
技術分享圖片
技術分享圖片
兩個mysql.sock的路徑不一致,導致mysql無法通信。於是打開php.ini,修改mysqli.default_socket、pdo_mysql.default_socket 的值為/application/mysql/data/mysql.sock:
pdo_mysql.default_socket=/application/mysql/data/mysql.sock
mysqli.default_socket=/application/mysql/data/mysql.sock
保存修改後重啟php。再使用localhost連接就可以了。
技術分享圖片

《Web集群實戰》第6章MySQL搭建WordPress遇到“建立數據庫連接時出錯”的問題