一克柠檬 发表于 2023-11-27 20:51

数据库连接config.php时报错了

今天是第一次学php不太懂,写了一个config.php文件打开网页连接时报错了.
$username="wanf";
$password="123456";
$host="localhost";
$dbname="www_myblog_com";
$conn=mysqli_connect($host,$username,$password,$dbname);
if ($conn->connect_error){
    die("连接数据库失败".$conn->connect_error);
}
$conn->query('set names utf8');

xiaoxixpj 发表于 2023-11-28 14:04

你这个mysql版本应该是8.0的,
MySQL 目前使用的身份验证插件有三种,分别是 mysql_native_password、sha256_password 和 caching_sha2_password。
这个错误是因为MYQL 8.0 版本中,默认的身份验证插件是 caching_sha2_password;而在 MySQL 5.7 版本则为mysql_native_password

你当前报错解释过来就是使用了未知的身份验证方式登录,你可以查看当前的默认配置
show variables like 'default_authentication_plugin';

解决办法1:
配置 mysql.cnf 配置默认身份验证插件

default_authentication_plugin = mysql_native_password

方法2:
修改root用户使用localhost连接,并且重置密码为123456
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.01 sec)
然后刷新权限
mysql> FLUSH PRIVILEGES;

页: [1]
查看完整版本: 数据库连接config.php时报错了