关于MySQL数据库中用户权限的快速介绍
让我们看看如何向MySQL数据库的用户授予权限(称为权限)。
默认情况下,当你使用语法创建一个新的MySQL用户时
CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';
创建一个新的MySQL用户时,该用户不能做很多事情。我们可以说,它不能做任何事情,实际上。
它不能从任何现有数据库中读取数据,更不用说修改数据了。而且它甚至不能创建一个新的数据库。
要使一个用户做任何事情,你必须授予它权限。
你可以使用GRANT 命令来这样做。
我们可以使用GRANT <permission> ,使用以下权限关键字。
CREATEDROPDELETEINSERTSELECTUPDATEALL PRIVILEGES
给予一个用户创建新数据库的权限
GRANT CREATE ON *.* TO '<username>'@'localhost';
给予用户在特定数据库中创建新表的权限
GRANT CREATE ON <database>.* TO '<username>'@'localhost';
给予用户读取(查询)特定数据库的权限
GRANT SELECT ON <database>.* TO '<username>'@'localhost';
给予用户读取特定数据库表的权限
GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';
给予用户在一个特定的数据库中插入、更新和删除行的权限
GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';
给予用户删除特定数据库中的表的权限
GRANT DROP ON <database>.* TO '<username>'@'localhost';
给予用户删除数据库的权限
GRANT DROP ON *.* TO '<username>'@'localhost';
给予一个用户在特定数据库中的所有权限
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';
给予一个用户所有的权限
GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
撤销一个权限
例如,在<database> ,撤销DROP 权限。
REVOKE DROP ON <database>.* TO '<username>'@'localhost';
要撤销所有权限,请运行。
REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';
你可以通过运行以下命令来查看单个用户的权限。
SHOW GRANTS FOR '<username>'@'localhost';