首页 > 技术文章 > MySQL创建用户和加限权

fengqiang626 2019-08-29 20:27 原文

1.权限管理

​ 我们知道我们的最高权限管理者是root用户,它拥有着最高的权限操作。包括select、update、delete、update、grant等操作。那么一般情况在公司之后DBA工程师会创建一个用户和密码,让你去连接数据库的操作,并给当前的用户设置某个操作的权限(或者所有权限)。那么这时就需要我们来简单了解一下:

  • 如何创建用户和密码
  • 给当前的用户授权
  • 移除当前用户的权限

如果你想创建一个新的用户,则需要以下操作:

1.1对新用户增删改

1.创建用户:
# 指定ip:192.118.1.1的chao用户登录
create user 'chao'@'192.118.1.1' identified by '123';
# 指定ip:192.118.1.开头的chao用户登录
create user 'chao'@'192.118.1.%' identified by '123';
# 指定任何ip的chao用户登录
create user 'chao'@'%' identified by '123';

2.删除用户
drop user '用户名'@'IP地址';

3.修改用户
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';

4.修改密码
set password for '用户名'@'IP地址'=Password('新密码');

1.2对当前的用户授权管理

# 查看权限
语法: show grants for 用户名@IP
show grants for chao@192.168.10.5; # 查看某个用户的权限 

# 远程登陆
 mysql -uroot -p123 -h 192.168.10.3

# 给账号授权
语法: grant 权限 on 库名.表名 to 用户名@IP
权限: select(查询) insert(插入) update(更新)  delete(删除) all(代表所有权限)
# 分配所有权限
grant all on *.* to chao@'%';
# 分配查询权限
grant select on *.* to chao@'%';
# 分配 查询和插入权限
grant select,insert on *.* to chao@'%';
# 刷新使授权立即生效,涉及到权限和用户密码的都刷新就对了
flush privileges;    

# 创建账号并授权
grant all on *.* to chao@'%' identified by '123' ;

# 删除用户权限
语法: revoke 权限 on 库名.表名 from 用户名@IP
revoke all on *.* from chao@'%';

推荐阅读