Mysql 使用Create 和 Grant 创建用户的区别

在MySQL中,可以使用CREATE USERGRANT语句来创建新用户,并授予他们访问数据库和表的权限。下面是它们之间的区别:

  • CREATE USER语句只能创建一个用户并设置密码。它不会授予任何数据库或表的权限。

  • GRANT语句创建一个用户并授予其特定的权限(例如SELECT、INSERT、UPDATE、DELETE等)。您需要在GRANT语句中指定要授予哪些权限以及授权给哪个用户。

因此,如果您只想创建一个新用户,那么可以使用CREATE USER语句。这对于你还没有确定该用户需要访问哪些数据库和表时很有用。

以下是一个示例CREATE USER语句:

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

上述语句将创建一个名为”newuser”的新用户,并为其分配密码。

如果您想要为新用户授予权限,可以使用GRANT语句。以下是一个示例GRANT语句,将给予用户“newuser”读取“testdb”数据库中所有表的权限:

GRANT SELECT ON testdb.* TO 'newuser'@'localhost';

这将向“newuser”用户授予“testdb”数据库中所有表的SELECT权限。使用GRANT语句时应该非常谨慎,确保授权给了正确的用户,避免出现安全问题。

使用Grant创建用户并授权方式

// 所有权限
GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
// 只读
GRANT SELECT ON *.* TO 'test'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

刷新权限执行

FLUSH PRIVILILEGES;
本作品采用《CC 协议》,转载必须注明作者和本文链接
每天一点小知识,到那都是大佬,哈哈
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!