一.问题发现
在安装设置WordPress数据库时,先要把wordpress/wp-config-sample.php文件备份,并把此文件改名成wordpress/wp-config.php,设置好此配置文件里的MySQL数据库登陆用户root和数据库密码。让后在执行wordpress/wp-admin/install.php进行安装,如下图1所示:
按【提交】后,会提示数据库连接错误,如下图:
为啥会出现这种情况呢,数据库设置了新密码也不识别,数据库可以用超级用户root不输入密码也能登陆,说明设置的密码没有起作用。登陆MySQL数据库后,输入以下命令,查询root用户的密码,原来都加密了,输出如下:
mysql>use mysql;
mysql>SELECT host, user, authentication_string FROM mysql.user WHERE user = 'root';
查了下,好像root用户用了auth_socket 验证插件,引起的问题:
mysql>select plugin from user;
也可以用以下命令查的更清楚:
mysql>select user, host, plugin from mysql.user;
二.问题解决
解决这个问题,就是给root用户改密码时,把所属用户root的plugin字段值auth_socket改为mysql_native_password,如下命令所示:
mysql>update user set authentication_string=password('12345'), plugin='mysql_native_password' where user='root';
mysql>flush privileges;
mysql>quit;
然后,退出了MySQL数据库,重新启动MySQL数据库,并用新设置的密码登陆:
$sudo systemctl stop mysql
$sudo systemctl start mysql
$sudo mysql -p
登陆后,选择mysql数据库进行操作查看:
mysql>use mysql;
mysql>select user, host, plugin from mysql.user;
通过以上操作,解决了root设置密码不可用的问题。