mysql8.0版本更改了默认字符集为utf8mb4,也更改了登陆密码的默认加密校验方式为caching_sha2_password。而很多客户端连接方式并未来得及更新。导致升级到mysql8后原有项目老是连接数据库失败,现提供解决方法,供大家参考!
在安装wordpress时候会‘连接数据库出错’
以宝塔为例:
/etc/my.cnf
用记事本或其他文本工具打开该配置文件,在文件末尾加入如下配置:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
character-set-server = utf8
default_authentication_plugin = mysql_native_password
保存配置文件后,重启Mysql即可。
或者
先检查下数据库是否连接正常,是否是数据库登陆账户或者密码填写错误,如果都确认没有填写错误,那有可能是连接数据库的加密方式不一致,导致无法正常连接。
由于我Server上安装的是mysql8,加密规则是sha2,使用MySQLWorkbench可以正常连接,而换其他的数据库工具连接会提示“找不到指定的模块”:
所以可以推断出是加密方式有问题,因此我们需要修改加密方式为sha1 ,通过 xshell 进入命令行,执行如下命令:
mysql -hlocalhost -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
FLUSH PRIVILEGES;
alter user 'root'@'localhost' identified by '123456';
其中第一条执行后需要输入数据库连接密码,最后一条的’123456’即为你的数据库连接密码;
操作成功后,刷新下wordpress安装界面即可
参考:
https://jingyan.baidu.com/article/363872ec66e9cf6e4ba16f8d.html
https://blog.csdn.net/shengda_mao1118/article/details/101795974