《Mysql - 用户管理》

一: 新建用户
CREATE USER 用户名@'允许访问IP(%或者空代表所有)' identified by  '密码’;
    - 用户名长度不能超过 16 字符。
    - 大小写敏感。
Demo
    - CREATE USER ‘hive'@'%' identified by 'hive';
 
QA:
    - 设置完成后会自动更新授权表,直接使用密码登录即可。
    - 看不到任何可操作性的表(因为没有为用户设置权限,所以用户不能操作数据库

 

二: 查看权限
查看自己的全部权限
    - show grants;

 

三: 添加权限
GRANT {权限} TO {用户};
 
1.全局(赋予全部权限)
    - GRANT ALL ON *.* TO 'hive'@'%’;(赋予全部权限)
 
2.库(赋予库权限)
    - GRANT ALL ON mydb.* TO 'user'@'host’;(赋予库下所有表权限)
 
3.表层级(单个表增删改查权限)
    - GRANT SELECT, INSERT, UPDATE, DELETE ON `hive`.* TO 'hive’@‘*’
 
QA:(修改完之后刷新权限关系)
    - flush privileges; #刷新mysql系统权限关系表

 

四: 回收权限
REVOKE {权限} TO {用户};
 
1.全局(回收全部权限)
    - REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'hive'@'%';
 
2.库(回收库权限)
    - REVOKE ALL ON mydb.* TO 'user'@'host’;(赋予库下所有表权限)
 
3.表层级(单个表增删改查权限)
    - REVOKE SELECT, INSERT, UPDATE, DELETE ON `hive`.* TO 'hive’@‘*’
 
QA:(修改完之后刷新权限关系)
    - flush privileges; #刷新mysql系统权限关系表

 

五:删除用户
QA:
    - 删除前,前提 应该 回收 用户 所有权限
 
DROP USER 用户名@'访问主机';

 

QA
QA:
一:数据库用户 ROOT 和 其他用户有什么区别么?
    - Mysql root 和 linux root 不是一回事,
    - 数据库 root 只不过是初始化时候自己建立的一个用户而已,随时可以删除/修改。
 
二: 在 Mysql 中,数据库权限是怎么样的呢?
    - MySQL 总体是使用了白名单机制
    - 明确规定了哪些用户能做哪些事,但是不能规定哪些用户不能做那些事。 

 

 
posted @ 2019-02-26 16:13  Zzz哈  Views(145)  Comments(0Edit  收藏  举报