Mysql 使用Create 和 Grant 创建用户的区别
在MySQL中,可以使用CREATE USER
或GRANT
语句来创建新用户,并授予他们访问数据库和表的权限。下面是它们之间的区别:
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 协议》,转载必须注明作者和本文链接