【问题标题】:How to get the user ID from MySQL/Maria DB?如何从 MySQL/Mariadb 获取用户 ID?
【发布时间】:2019-12-05 20:57:46
【问题描述】:

例如,在 PostgreSQL 中,查询 SELECT * FROM pg_user 返回 usesysid 列,您可以在其中查看用户 ID。所以我可以通过这个ID从这个表中获取最旧/最新的用户。

如何在 Mysql 和 Maria DB 中做同样的事情?

我很惊讶在任何驱动程序中都没有显示每个用户的创建日期的字段。

【问题讨论】:

  • MySQL/MariaDB“用户”和操作系统“用户”之间不一定有任何关系。

标签: mysql sql postgresql mariadb userid


【解决方案1】:

列出用户应该很简单:

select * from mysql.user

user 列为您提供用户 ID。结合host,这是每个帐户的唯一标识符。

Documentation for MariaDB.

Documentation for MySQL.

但请注意,MySQL / MariaDB 不会跟踪用户的创建日期。一种解决方案是在users 表中添加一个默认为当前日期的自定义列:

ALTER TABLE mysql.users ADD date_created TIMESTAMP DEFAULT CURRENT_TIMESTAMP;

【讨论】:

  • 修改系统表总是一个坏主意,这可能会导致意外行为。在最近版本的 MariaDB 和 MySQL 中,权限存储在 globals_priv 中,而 mysql.user 是一个视图。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
  • 2023-04-11
  • 2021-05-07
  • 2014-12-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多