mysql中GRANT命令如何使用

来源:这里教程网 时间:2026-02-28 20:18:09 作者:

在 MySQL 中,GRANT 命令用于给用户授予数据库权限。正确使用 GRANT 可以确保用户只能访问被授权的资源,提升数据库安全性。

基本语法结构

GRANT 的基本格式如下:

GRANT 权限类型 [(列名)] ON 数据库名.表名 TO '用户名'@'主机地址' [IDENTIFIED BY '密码'];

说明:

权限类型:如 SELECT、INSERT、UPDATE、DELETE、ALL 等 数据库名.表名:用 * 表示所有数据库或所有表 '用户名'@'主机地址':主机地址可以是 localhost、IP 地址或 %(表示任意主机)

常见权限示例

以下是几种常用的授权场景:

授予本地用户对某个数据库的所有权限:
GRANT ALL ON mydb.* TO 'user1'@'localhost';
授予远程用户查询权限:
GRANT SELECT ON mydb.users TO 'user2'@'192.168.1.%';
授予用户插入和更新权限:
GRANT INSERT, UPDATE ON mydb.orders TO 'user3'@'%';
授予全局所有权限(谨慎使用):
GRANT ALL ON *.* TO 'admin'@'%' IDENTIFIED BY 'securepass';

刷新权限

执行 GRANT 后,需要让权限立即生效:

FLUSH PRIVILEGES;

注意:大多数情况下 GRANT 会自动刷新权限,但在某些手动修改场景下建议手动执行。

查看用户权限

可以用以下命令检查某个用户的权限:

SHOW GRANTS FOR '用户名'@'主机地址';

例如:

SHOW GRANTS FOR 'user1'@'localhost';

基本上就这些。合理使用 GRANT 能有效控制访问权限,避免权限过大带来的安全风险。

相关推荐