本页将讨论:
  • 如何新建删除mysql账户?
  • 如何授予或者取消用户的权限?
  • 如何修改密码?
  • 工作中经常使用到的操作有哪些?

如何新建删除mysql账户?


MySQL数据库的用户账号信息存储在mysql数据库的user表中。
看看目前mysql系统中的用户
select * from mysql.user\G;
加上\G是为了让结果更清晰。

创建用户账号
CREATE USER user_name IDENTIFIED BY 'password';
创建用户账号及其对应的密码。注意:新创建的用户不具有任何权限。
如果提示: ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
说明你的密码太简单了,可以设个复杂点的,比如 Bilidada212!@#@#

删除用户账号
DROP USER user_name@'%';

drop user命令会删除用户以及对应的权限,执行命令后你会发现mysql.user表和mysql.db表的相应记录都消失了。

重命名
rename user 'jack'@'%' to 'jim'@'%';


授予或者取消用户的权限

使用GRANT语句为用户设置权限,设置权限语句要给出的信息包含:
  1. 要授予的权限
  2. 被授予访问的数据库或者表
  3. 被授予权限的用户
例如:
GRANT SELECT ON database_name.* TO user_name;
这条语句授予user_name用户针对database_name数据库的所有表的读权限。

撤销访问权限
REVOKE语句是GRANT的反操作。

GRANT和REVOKE语句能够控制的访问权限层次:
  1. 整个服务器 GRANT | REVOKE ALL;
  2. 整个数据库 ON database.*;
  3. 特定的表   ON database.table;
  4. 特定的列
更多内容可以参考之前的页面:深入理解mysql的权限系统


如何修改用户密码

update mysql.user set password = password('newPassword') where user = 'user_name' and host = '%';
flush privileges;



实用命令集锦


一、创建用户并授予指定数据库全部权限:适用于Web应用创建MySQL用户
create user test_user identified by 'password';
grant all privileges on appdb.* to test_user@'%' identified by 'password';
flush privileges;
创建了用户test_user,并将数据库appdb的所有权限授予test_user


二、新建一个用户,给予对某个数据库的增删改查,创建删除表的权限。
create user test_user identified by 'password';
grant select,insert,update,delete,create,drop privileges on appdb.* to test_user@'%' identified by 'password';
flush privileges;






上一篇:mysql的运维

成为你想看到的世界变革力量

创建者:万乐荣
最后更新时间 : 2018年9月3日 23:20

评论