📜  mysql 用户和权限列表 - SQL (1)

📅  最后修改于: 2023-12-03 15:33:03.670000             🧑  作者: Mango

MySQL 用户和权限列表 - SQL

MySQL 是一个开源的关系型数据库管理系统,它允许用户创建和管理数据库和表格。在 MySQL 中,用户可以被授权不同级别的权限,以访问或操作不同数据库或表格。本文将介绍如何查询 MySQL 中的用户和权限列表。

查询 MySQL 用户列表

要查询 MySQL 中的用户列表,可以使用以下 SQL 命令:

SELECT User, Host, authentication_string FROM mysql.user;

此命令将返回 MySQL 数据库中的所有用户及其相关信息,包括用户名,主机名和认证字符串(密码)。

以下是一个示例结果:

| User | Host | authentication_string | | --------- | ------------- | --------------------- | | root | localhost | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B | | user | example.com | NULL | | admin | % | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 | | testuser | 192.168.1.100 | *6BB4837EB74329105EE4568DDA7DC67ED2CA2AD9 |

查询 MySQL 权限列表

要查询 MySQL 中的权限列表,可以使用以下 SQL 命令:

SHOW GRANTS FOR 'username'@'hostname';

此命令将返回指定用户在指定主机上的所有授权信息。

以下是一个示例结果:

| Grants for user@localhost | | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | GRANT ALL PRIVILEGES ON database.* TO 'user'@'localhost | | GRANT SELECT, INSERT, UPDATE ON database2.* TO 'user'@'localhost | | GRANT EXECUTE ON PROCEDURE database3.procedure TO 'user'@'localhost |

请注意,此命令返回的结果是一个文本字符串,不是表格。如果要格式化输出,请使用 CONCAT() 函数将授权语句连接在一起:

SELECT CONCAT('SHOW GRANTS FOR \'', User, '\'@\'', Host, '\';') AS Query FROM mysql.user;

此命令将返回一组 SQL 查询,每个查询都将返回指定用户在指定主机上的授权信息。

以下是一个示例结果:

| Query | | ------------------------------------------------------------------------------------- | | SHOW GRANTS FOR 'root'@'localhost'; | | SHOW GRANTS FOR 'user'@'example.com'; | | SHOW GRANTS FOR 'admin'@'%'; | | SHOW GRANTS FOR 'testuser'@'192.168.1.100'; |

总结

通过查询 MySQL 中的用户和权限列表,我们可以轻松地了解数据库中现有的用户及其相关权限。这对于诊断和修复访问问题,以及保护数据库免受不良行为的影响都很有帮助。