MySQL数据库
完成条件
权限管理
MySQL 的权限系统用于控制用户对数据库的访问和操作权限。
简介
在连接到 MySQL 数据库时,您需要提供以下凭据:
- 身份信息:
- 用户名(
username
) - 主机名或 IP 地址(由服务器自动检测)
- 用户名(
- 密码:
- 用于验证身份的凭证。
通常,MySQL 应用程序还要求您提供数据库名称,但这不是身份凭据的一部分,因为它与您是谁无关。
MySQL 将特定的权限与这些身份凭据关联,例如:
- 查询指定数据库的权限。
- 向某个数据库添加数据的权限。
- 创建新数据库或删除现有数据库的权限。
我是谁?
连接到 MySQL 后,您可以使用 CURRENT_USER()
函数查看当前用户信息。例如:
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.00 sec)
查看权限:SHOW GRANTS
语法
-
SHOW GRANTS FOR 'user'@'host';
查看指定用户的权限。 -
SHOW GRANTS;
查看当前用户的权限。
示例
查看 root
用户的权限:
mysql> SHOW GRANTS FOR 'root'@'localhost';
+---------------------------------------------------------------------+
| Grants for root@localhost |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION |
+---------------------------------------------------------------------+
1 row in set (0.00 sec)
这表示 root
用户在所有数据库上的所有权限(ALL PRIVILEGES
),并可以使用 GRANT OPTION
授予其他用户权限。
查看当前用户的权限:
mysql> SHOW GRANTS;
输出显示当前登录用户的所有权限。
总结
- MySQL 使用用户名和主机名/IP 地址来唯一标识用户。
- 使用
CURRENT_USER()
确定当前会话的用户身份。 - 使用
SHOW GRANTS
检查指定用户或当前用户的权限。
通过这些工具,您可以高效管理 MySQL 的权限系统。
最后修改: 2025年01月17日 星期五 19:33