MariaDB:每次重启后访问被拒绝

MariaDB: Access Denied after every reboot

我在 raspberry pi 3 (raspbian) 上使用 MariaDB,并且我有一个具有特定密码的 root 用户

问题: 当我重新启动树莓派时,我得到 access denied for user root@localhost

我确实使用 mysqld --skip-grant-tables 重置了 root 密码并刷新了权限。然后我重新启动了服务器。

之后,当我输入 sudo mysql 时,我无需输入密码即可登录。

当我再次重启树莓派时,我再次拒绝用户 root@localhost 的访问。 我再次切换到 skip-grant-table 的东西,并查看了 mysql.user table,但密码设置正确!

这可能是什么原因?

可能是由于 MariaDB 基于 Unix 套接字验证用户 (root) 的机制 (as explained here)。尝试 运行 这个查询:

UPDATE mysql.user SET plugin = 'mysql_native_password' WHERE user = 'root' AND plugin = 'unix_socket'; FLUSH PRIVILEGES;

然后重启MariaDB。