您正在以匿名用户身份使用 mariadb

Posted

技术标签:

【中文标题】您正在以匿名用户身份使用 mariadb【英文标题】:You are using mariadb as an anonymous user 【发布时间】:2018-09-30 06:36:30 【问题描述】:

所有权限都被拒绝,我所有的数据库似乎都被删除了。当我尝试更改密码时,我收到主题中提到的错误。 最初没有设置密码,执行以下命令后开始出现此行为

update mysql.user set password=password('newpass') where user='root';

我输入mysql使用:

mysql -u root

我尝试执行的每个命令都会出现访问被拒绝错误。我尝试在 google 上冲浪,但没有找到解决问题的方法。

【问题讨论】:

【参考方案1】:

你也必须设置用户的插件,并且每次都刷新权限

> update mysql.user set password=password('newpass') where user='root';
> flush privileges;
> update mysql.user set plugin='mysql_native_password' where user='root';
> flush privileges;

然后在数据库实例启动时检查您是否使用匿名用户:在您的 /etc/my.cnf 中删除/注释任何看起来像这样的行

skip-grant-tables #comment with #

然后重启数据库

service <db> restart

【讨论】:

不敢相信 MySQL 文档中没有提到这一点。或者这是 MariaDB 特有的? 救命建议先生!!! “newpass”是你自己的密码,但插件“mysql_native_password”是一个硬编码的插件,不能更改。最重要的是,您必须突出显示所有这些都以非 root 用户 id 执行,运行命令“mysql -u root -p”。 您使用命令 'update mysql.user set plugin='mysql_native_password' where user='root';' 为我节省了一天的时间

以上是关于您正在以匿名用户身份使用 mariadb的主要内容,如果未能解决你的问题,请参考以下文章

如何在颤振应用程序中使用相同的 Firebase 匿名用户

匿名用户和经过身份验证的用户使用相同的端点

Spring Stomp SimpUserRegistry 匿名用户

为匿名用户安排 Online Lync 会议

面向匿名用户的 Firebase 推送网络通知

Rest Web 服务:具有令牌安全性的匿名和经过身份验证的用户