2018年9月

今天又迁移了一遍服务器,在配置MySQL出现了一些问题。

在配置好MySQL后,打开站点,WordPress出现了“Error establishing a database connection”错误,这个错误在上次迁移也遇到过,于是不得不降级使用Debian8,在查询了无数次资料后,找到了原因:

由于mysql 5.0采用了一种新的密码验证机制,这需要客户端的版本要在4.0以上(PHP中的MYSQL客户端可以查看phpinfo得到),连接数据库时是用旧的密码机制,这会出现“Client does not support authentication protocol requested by server”这样的错误提示。

解决办法是新建一个账户:

create user 'user'@'localhost' identified by 'passwd';
(MySQL环境下)

但又会遇到另一个错误:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
(您的密码不符合当前的策略要求)

还是密码验证机制的问题,输入以下命令解决:

set global validate_password_policy=0;
(MySQL环境下)

validate_password_policy的取值:

Policy            Tests Performed
0 or LOW            Length
1 or MEDIUM    Length; numeric, lowercase/uppercase, and special characters
2 or STRONG    Length; numeric, lowercase/uppercase, and special characters; dictionary file
(默认值为1)

修改后再新建用户,给予用户相关权限即可。