php无法连接mysql8(加密插件问题)
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'