怎么在MySQL 8.0.18中给数据库添加用户和赋权
MySQL是一种流行的关系型数据库管理系统。在MySQL中,建立用户并授予权限是一个基本的操作。
本文将介绍如何在MySQL 8.0.18中创建用户并授予权限。
创建用户
使用root用户登录MySQL后,可以使用以下语法创建用户。
CREATE USER '用户名'@'IP地址' IDENTIFIED BY '密码';
- 用户名:要创建的用户名。
- IP地址:授权用户可以从哪个IP地址访问数据库。如果要允许从任何地址访问,请使用%。如果只允许从特定IP地址访问,请使用该地址。
- 密码:用户的密码。
例如,要创建一个名为John的用户,该用户可以从任何地址访问数据库并使用“abcd1234”作为密码,请使用以下语句。
CREATE USER 'John'@'%' IDENTIFIED BY 'abcd1234';
如果要创建一个访问MySQL的特定IP地址的用户,请使用以下命令。
CREATE USER 'John'@'192.168.0.100' IDENTIFIED BY 'abcd1234';
授权
授权涉及赋予用户特定的权限以访问数据库和数据表。
要授权用户,请使用GRANT命令。以下语法向用户授予所有权限。
GRANT ALL PRIVILEGES ON *.* TO '用户名'@'IP地址';
要向用户授予特定权限,请使用以下语法。
GRANT 权限1,权限2,...,权限n ON 数据库.数据表 TO '用户名'@'IP地址';
例如,要授权John用户访问数据库mytest中名为city的表,请使用以下命令。
GRANT SELECT, INSERT, UPDATE, DELETE ON mytest.city TO 'John'@'%';
如果你要赋予用户具有数据库操作权限,使用以下命令。
GRANT CREATE, DROP, ALTER, INDEX, REFERENCES, CREATE TEMPORARY TABLES, LOCK TABLES ON 数据库名.* TO '用户名'@'IP地址';
例如,要授权John用户使用database1中的创建表、更新表和删除表的权限,请使用以下命令。
GRANT CREATE, DROP, ALTER ON database1.* TO 'John'@'%';
撤销授权
需要撤销授权时,可以使用REVOKE命令。以下是REVOKE授权的语法。
REVOKE 权限 ON 数据库.数据表 FROM '用户名'@'IP地址';
例如,要从John用户中撤消对mytest.city的选择权限,请使用以下命令。
REVOKE SELECT ON mytest.city FROM 'John'@'%';
删除用户
删除用户可以使用DROP USER命令。以下是DROP USER命令的语法。
DROP USER '用户名'@'IP地址';
例如,要删除名为John的用户,请使用以下命令。
DROP USER 'John'@'%';
总结
在MySQL 8.0.18中,创建用户和授予权限是管理数据库的基本操作之一。使用CREATE USER、GRANT和REVOKE命令可以轻松地创建和管理用户,以便控制数据库和数据表的访问权限。
