×

新版本Mariadb安装后直接用root就可登录问题

穆琪 穆琪 发表于2018-11-08 10:47:51 浏览424 评论0

抢沙发发表评论

新版本mariadb(包括mysql)采用了unix_socket认证,导致了使用root用户下不用密码就能登录,而其他用户端访问不了,现在要将他调回原来的认证模式。

MariaDB [(none)]> select user, plugin from mysql.user;
+------+-------------+
 | user | plugin |
+------+-------------+
 | root | unix_socket |
+------+-------------+

 1 row in set (0.00 sec)

现在修改plugin项即可

进去mariadb执行如下命令:

 MariaDB [(none)]> UPDATE mysql.user SET authentication_string = PASSWORD('mypassword'), plugin = 'mysql_native_password' WHERE User = 'root' AND Host = 'localhost';

 MariaDB [(none)]> FLUSH PRIVILEGES;

 验证:

 MariaDB [(none)]> select user, plugin from mysql.user;

 +------+-----------------------+

 | user | plugin |

 +------+-----------------------+

 | root | mysql_native_password |

 +------+-----------------------+

 1 row in set (0.01 sec)


重启数据库服务或者机器即可恢复到原来的用户-密码方式