Mariadb 非 root 用户

Mariadb 非 root 用户

我已经安装了 mariadb,并且作为 Linux 根用户,我可以运行 mysql 命令来访问数据库。但是当我尝试以普通 Linux 用户身份登录并运行时mysql -u root -p,我收到错误:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'. 

我尝试了几种方法,例如重置 mysql root 用户的密码,但是没有用。

任何帮助都将非常有帮助。

答案1

我遇到了同样的问题,这是由“mysql.user”表中的“plugin”值引起的。

您是否尝试过这个答案:https://askubuntu.com/a/636579/299538

对此有如下解释:https://superuser.com/a/1071043/592085

答案2

在 MariaDB 中,您无法以普通用户身份登录,您必须拥有 root 权限或使用sudo。另一种解决方案是添加另一个具有完全权限的 root 用户。

使用 sudo 连接到数据库:

sudo mysql -u root

检查当前数据库中的帐户:

mysql> SELECT User,Host FROM mysql.user;
+------------------+-----------+
| User             | Host      |
+------------------+-----------+
| root             | localhost |

重新创建用户root(如果需要,请使用密码):

mysql> CREATE USER 'root'@'%' IDENTIFIED BY '';

给予许可:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

冲洗:

mysql> FLUSH PRIVILEGES;

显示数据库用途:

SELECT User,Host FROM mysql.user;
+------+-----------+
| User | Host      |
+------+-----------+
| root | %         |
| root | localhost |
+------+-----------+

退出并以普通用户身份连接:

mysql -u root

相关内容