📌  相关文章
📜  mysql 授予对一个数据库的访问权限 - SQL (1)

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

MySQL授予对一个数据库的访问权限 - SQL

当我们创建一个MySQL数据库后,需要给其它用户或程序员授权访问这个数据库,此时就需要使用授权命令。

语法
GRANT privileges ON database_name.table_name TO 'username'@'localhost';
  • privileges: 授予的权限,如 SELECTINSERTUPDATEDELETE 等,可以使用 ALL PRIVILEGES 表示全部权限。
  • database_name: 数据库名称。
  • table_name: 表名称,如果要授予所有表的权限,可以使用 *
  • username: 要授权的用户名称。
  • localhost: 连接的主机名,可以使用 % 表示任意主机。
示例

我们现在需要给用户 jack 授予在数据库 testdb 中查询和更新表 users 的权限。

GRANT SELECT, UPDATE ON testdb.users TO 'jack'@'localhost';

如果要授予用户 jack 所有表的所有权限,可以使用:

GRANT ALL PRIVILEGES ON testdb.* TO 'jack'@'localhost';
撤销权限

如果需要撤销某个用户的权限,可以使用 REVOKE 命令,示例如下:

REVOKE SELECT, UPDATE ON testdb.users FROM 'jack'@'localhost';
注意事项
  • 在使用授权命令前,需要先创建用户,可以使用 CREATE USER 命令进行创建。
  • 在授权时,需要确保数据库、表、用户名称都正确,否则可能会没有授予预期的权限。
  • 控制好数据库的访问权限非常重要,避免出现不必要的安全问题。