内容简介:在MySQL中用户数据放在mysql库的user表里,在该表中保存用用户的用户名,密码和权限信息。命令:说明:
在 MySQL 中用户数据放在mysql库的user表里,在该表中保存用用户的用户名,密码和权限信息。
创建用户
命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'
;
说明:
- username:登录的用户名
- password:是登录的密码
- host:指定可以登录的主机,其中localhost表示本机,%表示所有主机
举例:
CREATE USER 'testuser'@'%' INDENTIFIED BY '123'; 复制代码
创建一个用户后,user表中会插入一行新的数据,但是该用户是没有任何权限的
管理用户权限
添加用户权限
命令: GRANT privileges ON databasename.tablename TO 'username'@'host'
说明:
* *
举例:
# 对用户testuser授予在所有主机上对test库的SELECT权限 GRANT SELECT ON test.* TO 'testuser'@'%'; # 对所有库都授予INSERT权限后,user表中的该用户Insert_priv的值被置为Y GRANT INSERT ON *.* TO 'testuser'@'%'; # 给该用户赋予所有权限 GRANT ALL privileges ON *.* TO 'testuser'@'%'; # 执行完授予权限的命令后,必须执行以下命令使修改生效 flush privileges; 复制代码
撤销用户权限
命令: REVOKE privileges ON databasename.tablename FROM 'username'@'host';
例子: REVOKE ALL privileges ON *.* FROM 'testuser'@'%';
撤销权限的使用方法与授予权限类似,参照授予的方式进行处理即可。
修改用户密码
命令: SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
例子: SET PASSWORD FOR 'testuser'@'%' = PASSWORD('abcdef');
查看权限
查看本用户的权限: SHOW GRANTS;
查看指定用户的权限: SHOW GRANTS FOR 'username'@'host';
举例:
# 查询用户testuser在所有主机上的权限 SHOW GRANTS FOR 'testuser'@'%' 复制代码
删除用户
删除用户: DROP USER 'username'@'host';
举例: DROP USER 'testuser'@'%';
用户被删除后user表中就不存在该用户的数据。但是有一点需要注意的是,user表中是通过用户名和主机名来唯一确定一个用户,如果运行 CREATE USER 'testuser'@'10.1.1.1' IDENTIFIED BY 'password';
和 CREATE USER 'testuser'@'10.1.1.2' IDENTIFIED BY 'password';
这两条语句,会在user表中插入两条信息。因此,删除用户的时候也只能分两次删除。
总结
本篇文章介绍了MySQL管理用户常用的一些命令,包括创建用户,添加用户权限,删除用户权限,修改用户密码,查询用户权限。另外,user表也是一种数据表,因此也可以用MySQL操作表的 SQL 语句去操作该表,比如删除用户可以使用 DELETE FORM USER WHERE User = testuser
。当然,这种方式是不被推荐的,存在更大的误操作风险。
以上所述就是小编给大家介绍的《MySQL用户及权限管理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。