如何列出我的 MariaDB 中的所有用户?
互联网充满了
SELECT user FROM mysql.user;
在所有变体中,但这在 MariaDB 上不起作用(如果重要的话,我使用的是 10.5.19 版),而是会产生错误(以 root 权限运行):
ERROR 1356 (HY000): View 'mysql.user' references invalid table(s) or column(s) or function(s) or definer/invoker of view lack rights to use them
我只发现一个模糊有用的评论:https://stackoverflow.com/a/64841540
MariaDB-10.4+
mysql.user
是一个视图而不是一个表。[...] 始终查看官方文档。
重点是,我确实检查了官方文档,但它似乎默默地假设您已经知道您的用户名。我没有找到任何关于如何首先获得这些的提及,即如何只显示用户列表。
mysql.user 表的官方文档(谷歌的第一个结果
mysql.user site:https://mariadb.com/kb/
)有你的答案:因此,为了向后兼容,您仍然可以使用:
这也可能有用:
好吧,它是一个视图并不重要,无论如何你应该能够从 mysql.user 中选择用户......你得到的错误消息表明你正在连接的用户没有从 mysql 中选择的权限。用户虽然......所以尝试:
如果可行,请确保您连接的用户有权从 mysql.user 中进行选择:-)