解决 Ubuntu 18.04 安装 PHPMyadmin 不能使用root登录的问题

Ubuntu 18.04 安装Mysql,PHP,phpmyadmin后发现无法使用root账号登录到PHPMyadmin,查了很久终于知道问题。

原因:

在运行MySQL 5.7(及更高版本)的Ubuntu系统中,根 MySQL用户auth_socket默认使用插件进行身份验证,而不是使用密码进行身份验证。这在许多情况下允许更高的安全性和可用性,但是当您需要允许外部程序(例如phpMyAdmin)访问用户时,这也会使事情变得复杂。

解决方法:

为了使用密码以root用户身份连接到MySQL ,您需要将其身份验证方法从中切换auth_socket为mysql_native_password。

步骤:

sudo mysql
使用以下命令检查每个MySQL用户帐户使用的身份验证方法:
mysql> select user,authentication_string,plugin,host from mysql.user;

你可以看到root用户确实使用auth_socket插件进行了身份验证。要配置root帐户以使用密码进行身份验证,请运行以下ALTER USER命令。请务必更改password为您选择的强密码:
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘ilovexinji.com’;

如果你修改密码是出现报错:

ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

你需要修改密码验证的规则等级:

mysql> show variables like ‘validate_password%’;

修改密码验证等级:
mysql> set GLOBAL validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)

修改root的密码:
mysql> ALTER USER ‘root’@’localhost’ IDENTIFIED WITH mysql_native_password BY ‘ilovexinji.com’;
Query OK, 0 rows affected (0.00 sec)

然后你查看root账号的身份验证方法:
mysql> select user,authentication_string,plugin,host from mysql.user;

你已经修改密码成功了,重启mysql

退出mysql终端
mysql>\q

重启mysql
sudo /etc/init.d/mysql restart

然后你就可以使用root账号登录PHPMyadmin了。

参考资料:

https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04

https://dev.mysql.com/doc/refman/8.0/en/validate-password-options-variables.html

 

打赏

ilovexinji.com 您说点什么

avatar
  订阅评论  
提醒