什么时候会用到
- 对接外零碎时,须要给其余零碎凋谢拜访权限
- 本零碎中,分权限治理数据,避免root权限删库跑路
mysql版本
MySql8.0+
具体步骤
1.命令行进入MySql
应用 mysql -u#UserName -p#PassWord 命令进入MySql
#UserName 代表你的MySql用户名
#PassWord 代表你的MySql明码
本狗的用户名是root,明码是root
mysql -uroot -proot
2.进入数据库
如果没有创立数据库则先应用命令,若已存在数据库则跳过此步骤
create database #databaseName;
#databaseName 代表你操作的数据库
本狗要创立的是b2b数据库,切记加上分号;
create database b2b;
use databaseName;
#databaseName 代表你操作的数据库
本狗要操作的是b2b数据库,切记加上分号;
use b2b;
3.创立用户
create user '#userName'@'#host' identified by '#passWord';
#userName 代表你要创立的此数据库的新用户账号
#host 代表拜访权限,如下
- %代表通配所有host地址权限(可近程拜访)
- localhost为本地权限(不可近程拜访)
- 指定非凡Ip拜访权限 如10.138.106.102
#passWord 代表你要创立的此数据库的新用明码
本狗要创立的用户是testUser,明码是Haier...123,并且可近程拜访
⚠️明码强度须要大小写及数字字母,否则会报明码强度不合乎
⚠️用户名如果反复,会报错ERROR 1396 (HY000): Operation CREATE USER failed for 'testUser'@'%'
create user 'testUser'@'%' identified by 'Haier...123';
4.查看用户
进入mysql零碎数据库
use mysql;
查看用户的相干信息
select host, user, authentication_string, plugin from user;
use mysql; select host, user, authentication_string, plugin from user;
若展现的信息中有刚退出的用户testUser,则增加胜利。切记查看完要切换回操作的数据库,本狗须要操作的是b2b
use b2b;
5.用户受权
grant #auth on #databaseName.#table to '#userName'@'#host';
#auth 代表权限,如下
- all privileges 全副权限
- select 查问权限
- select,insert,update,delete 增删改查权限
- select,[...]增...等权限
#databaseName 代表数据库名
#table 代表具体表,如下
- *代表全副表
- A,B 代表具体A,B表
#userName 代表用户名
#host 代表拜访权限,如下
- %代表通配所有host地址权限(可近程拜访)
- localhost为本地权限(不可近程拜访)
- 指定非凡Ip拜访权限 如10.138.106.102
本狗赋予b2b数据库area_code表增删改差权限
grant select,insert,update,delete on b2b.area_code to 'testUser'@'%';
6.刷新
切记肯定要刷新受权才可失效
flush privileges;
7.查看用户权限
show grants for '#userName'@'#host';
#userName 代表用户名
#host 代表拜访权限,如下
- %代表通配所有host地址权限(可近程拜访)
- localhost为本地权限(不可近程拜访)
- 指定非凡Ip拜访权限 如10.138.106.102
本狗要查看的是testUser
show grants for 'testUser'@'%';
8.验证
应用navicat等可视化工具验证
9.撤销权限
revoke #auth on #databaseName.#table from '#userName'@'#host';
#auth 代表权限,如下
- all privileges 全副权限
- select 查问权限
- select,insert,update,delete 增删改查权限
- select,[...]增...等权限
#databaseName 代表数据库名
#table 代表具体表,如下
- *代表全副表
- A,B 代表具体A,B表
#userName 代表用户名
#host 代表拜访权限,如下
- %代表通配所有host地址权限(可近程拜访)
- localhost为本地权限(不可近程拜访)
- 指定非凡Ip拜访权限 如10.138.106.102
本狗要撤销testUser用户对b2b数据库中的area_code表的增删改差权限
revoke select,insert,update,delete on b2b.area_code from 'testUser'@'%';
本狗再查看用户权限
show grants for 'testUser'@'%';
10.删除用户
drop user '#userName'@'#host';
#userName 代表用户名
#host 代表拜访权限,如下
- %代表通配所有host地址权限(可近程拜访)
- localhost为本地权限(不可近程拜访)
- 指定非凡Ip拜访权限 如10.138.106.102
本狗要删除用户是testUser
drop user 'testUser'@'%';
我是JavaDog,谢谢博友急躁看完, 抽空来我狗窝瞅瞅呗 blog.javadog.net