色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql8和php不能連接

呂致盈2年前12瀏覽0評論

最近在使用MySQL8和PHP搭建項目時,遇到了一個問題,就是無法連接到MySQL8數據庫。

我們首先查看了php.ini配置文件,確保了mysqli擴展已經開啟。然后,我們嘗試使用mysqli_connect()函數連接數據庫,卻發現一直返回false。

//連接數據庫
$conn = mysqli_connect('localhost', 'root', 'password', 'database_name');
//判斷是否連接成功
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
} else {
echo "Connected successfully";
}

我們并沒有看到“Connected successfully”的輸出,而是出現了“Connection failed: Access denied for user 'root'@'localhost'”錯誤。

我們查看了MySQL8的配置文件my.cnf,發現其中有關授權的部分發生了變化:

[mysqld]
# Specifies the authentication method that MySQL will use.
default_authentication_plugin= mysql_native_password

MySQL 8默認使用caching_sha2_password進行身份驗證,但PHP mysqli擴展不支持它。我們需要將mysqld段中的default_authentication_plugin設置為mysql_native_password,然后重啟MySQL:

sudo vi /etc/mysql/my.cnf
# 修改如下配置
[mysqld]
# Specifies the authentication method that MySQL will use.
default_authentication_plugin= mysql_native_password
sudo systemctl restart mysql

這樣,我們就成功地連接到了MySQL8數據庫。