php无法连接mysql8(加密插件问题)

作者: adm 分类: php 发布时间: 2022-11-02

php7始终连不上mysql8

//连接数据库
$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();
}

很多教程都说在/etc/my.cnf配置文件中添加配置:

default-authentication-plugin=mysql_native_password

然后重启mysql再创建用户

CREATE USER 'native'@'localhost' IDENTIFIED  BY 'password'

但是其实我试了之后还是不行,查看数据库

SELECT Host,User,plugin FROM mysql.user;

查看用户使用的加密插件

之前创建的用户还是使用的是caching_sha2_password插件。这时候我们创建用户的时候指定使用什么插件即可。这样稳一些,创建完最好看一下使用的是什么插件。

CREATE USER 'native'@'localhost' IDENTIFIED WITH mysql_native_password  BY 'password'

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!