PHP7 stellt nie eine Verbindung zu MySQL8 her
//连接数据库
$conn=mysqli_connect($mysql_server_name,$mysql_username,$mysql_password,$mysql_database);
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
In vielen Tutorials wird empfohlen, die Konfiguration in der Konfigurationsdatei /etc/my.cnf hinzuzufügen:
default-authentication-plugin=mysql_native_password
Starten Sie dann MySQL neu und erstellen Sie einen Benutzer
CREATE USER 'native'@'localhost' IDENTIFIED BY 'password'
Aber tatsächlich funktioniert es immer noch nicht, nachdem ich es versucht habe. Überprüfen Sie die Datenbank
SELECT Host,User,plugin FROM mysql.user;
Überprüfen Sie das vom Benutzer verwendete Verschlüsselungs-Plug-in.
Der zuvor erstellte Benutzer verwendet weiterhin das caching_sha2_password-Plug-in. Zu diesem Zeitpunkt können wir angeben , welches Plug-In beim Erstellen eines Benutzers verwendet werden soll . Dies ist stabiler. Überprüfen Sie nach der Erstellung am besten, welches Plug-In verwendet wird.
CREATE USER 'native'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password'