- 语法
CREATE USER user_specification [, user_specification] ... user_specification: user [ auth_option ] auth_option: IDENTIFIED BY 'auth#string' - 示例
- 创建一个名为lily,只能从30.9.73.96登录的账号,密码为123456。
CREATE USER lily@30.9.73.96 IDENTIFIED BY '123456'; - 创建一个名为david,可以从任意主机登录的账号,密码为空。
CREATE USER david@'%';
- 创建一个名为lily,只能从30.9.73.96登录的账号,密码为123456。
- 语法
DROP USER user [, user] ... - 示例
移除账号lily@30.9.73.96:
DROP USER lily@30.9.73.96;
- 语法
SET PASSWORD FOR user = password_option password_option: { PASSWORD('auth_string') } - 示例
修改账号lily@30.9.73.96的密码为123456。
SET PASSWORD FOR lily@30.9.73.96 = PASSWORD('123456')
给账号授权(GRANT)
- 语法
GRANT priv_type[, priv_type] ... ON priv_level TO user_specification [, user_specification] ... [WITH GRANT OPTION] priv_level: { | db_name.* | db_name.tbl_name | tbl_name } user_specification: user [ auth_option ] auth_option: { IDENTIFIED BY 'auth#string' }说明
GRANT语句里面的账号如果不存在,同时又没有提供IDENTIFIED BY信息,则报账号不存在异常;如果提供了IDENTIFIED BY信息,则会创建该账号同时授权。
- 示例
- 在数据库easydb下面,创建一个用户名为david,可以在任意主机登录,具有easydb数据库所有权限的账号。
#方法1:先创建账号再授权 CREATE USER david@'%' IDENTIFIED BY 'your#password'; GRANT ALL PRIVILEGES ON easydb.* to david@'%'; #方法2:一条语句完成创建账号和授权两个操作 GRANT ALL PRIVILEGES ON easydb.* to david@'%' IDENTIFIED BY 'your#password'; - 在数据库easydb下面,创建一个用户名为hanson,可以在任意主机登录,具有easydb.employees表所有权限的账号。
GRANT ALL PRIVILEGES ON easydb.employees to hanson@'%' IDENTIFIED BY 'your#password'; - 在数据库easydb下面,创建一个用户名为hanson,只能在192.168.3.10登录,具有easydb.emp表的INSERT 和 SELECT权限的账号。
GRANT INSERT,SELECT ON easydb.emp to hanson@'192.168.3.10' IDENTIFIED BY 'your#password'; - 在数据库easydb下面创建一个只读账号actro,可以在任意主机登录。
GRANT SELECT ON easydb.* to actro@'%' IDENTIFIED BY 'your#password';
- 在数据库easydb下面,创建一个用户名为david,可以在任意主机登录,具有easydb数据库所有权限的账号。
- 语法
- 删除账号在某个权限级别下的权限项,具体权限级别由priv_level指定。
REVOKE priv_type [, priv_type] ... ON priv_level - 删除账号在系统内(数据库级别和表级别的)的所有权限项。
REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ...
- 删除账号在某个权限级别下的权限项,具体权限级别由priv_level指定。
- 示例
- 删除hanson@’%’在easydb.emp表的CREATE、DROP、INDEX权限。
REVOKE CREATE,DROP,INDEX ON easydb.emp FROM hanson@'%'; - 删掉账号lily@30.9.73.96的所有权限。
REVOKE ALL PRIVILEGES,GRANT OPTION FROM lily@30.9.73.96;说明
为了兼容MySQL,需同时写上GRANT OPTION。
- 删除hanson@’%’在easydb.emp表的CREATE、DROP、INDEX权限。
- 语法
SHOW GRANTS[ FOR user@host]; - 示例
SHOW GRANTS FOR user1@host;
说明
5.3.6及以上版本,SHOW GRANTS只显示当前用户权限,可在阿里云PolarDB-X 1.0控制台查看所有账号和权限信息。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




