答案:使用GRANT语句为MySQL用户授予权限,先创建用户并设置密码,再通过GRANT分配如SELECT、INSERT等权限,执行FLUSH PRIVILEGES使权限生效,可用SHOW GRANTS查看权限,REVOKE撤销权限,注意最小化授权范围。

在 MySQL 中,授予用户权限需要使用 GRANT 语句。这个命令允许你为特定用户分配对数据库、表或其他对象的操作权限。以下是具体操作方法和常见用法。
创建用户并设置密码
在授予权限前,确保用户已存在。如果还没有,可以先创建用户:
CREATE USER ‘用户名’@’主机’ IDENTIFIED BY ‘密码’;
例如:
CREATE USER ‘devuser’@’localhost’ IDENTIFIED BY ‘mypassword‘;
授予基本权限
使用 GRANT 命令为用户分配权限。常用权限包括 SELECT、INSERT、UPDATE、DELETE、CREATE、DROP 等。
GRANT 权限列表 ON 数据库名.表名 TO ‘用户名’@’主机’;
示例:
- 授予某个用户对 testdb 数据库中所有表的读写权限:
GRANT SELECT, INSERT, UPDATE, DELETE ON testdb.* TO ‘devuser’@’localhost’; - 授予用户创建表和删除表的权限:
GRANT CREATE, DROP ON testdb.* TO ‘devuser’@’localhost’; - 授予用户对所有数据库所有表的全部权限(谨慎使用):
GRANT ALL PRIVILEGES ON *.* TO ‘adminuser’@’localhost’;
刷新权限
执行 GRANT 后,必须刷新权限才能生效:
FLUSH PRIVILEGES;
查看用户权限
可以使用以下命令查看某个用户的权限:
SHOW GRANTS FOR ‘用户名’@’主机’;
例如:
SHOW GRANTS FOR ‘devuser’@’localhost’;
撤销权限
如需收回权限,使用 REVOKE 命令:
REVOKE 权限名 ON 数据库名.表名 FROM ‘用户名’@’主机’;
例如:
REVOKE DELETE ON testdb.* FROM ‘devuser’@’localhost’;
基本上就这些。只要掌握 GRANT、REVOKE 和 FLUSH PRIVILEGES 这几个关键操作,就能有效管理 MySQL 用户权限。注意权限范围尽量最小化,避免随意赋予 ALL PRIVILEGES。


