MySQL 8.0 创建用户及授权
进入MySQL
mysql -u${username} -p${password}
- ${username}:MySQL用户名
- ${password}:MySQL密码
进入数据库
如果没有数据库则先创建,若已存在数据库则跳过此步骤
创建数据库:
create database ${database};
进入数据库:
use ${database};
${database}:数据库名称
创建用户
create user '${username}'@'${host}' identified by '${password}';
${username}:代表你要创建的此数据库的新用户账号
${host}:代表访问权限:
- %:通配所有
host
地址权限(可远程访问) - localhost:本地权限(不可远程访问)
- 指定特殊IP访问权限:如10.138.106.102
${password}:代表你要创建的此数据库的新密码
⚠️密码强度需要大小写及数字字母,否则会报密码强度不符合
create user 'testUser'@'%' identified by 'William...123';
查看用户
进入系统数据库
use mysql;
查看用户相关信息
select host, user, authentication_string, plugin from user;
若展示的信息中有刚加入的用户testUser,则添加成功。切记查看完要切换回操作的数据库。
用户授权
grant ${auth} on ${database}.${table} to '${username}'@'${host}';
${auth}:权限
- all privileges:全部权限
- select:查询权限
- select,insert,update,delete:增删改查权限
- select,[...]:查...等权限
database:数据库名{database}:数据库名 database:数据库名{table}:具体表名
- *:代表全部表
- A,B:代表具体A、B表
${username}:代表用户名
${host}:代表访问权限:
- %:通配所有
host
地址权限(可远程访问) - localhost:本地权限(不可远程访问)
- 指定特殊IP访问权限:如10.138.106.102
# 赋予test数据库user表增删改差权限
grant select,insert,update,delete on test.user to 'testUser'@'%';
刷新权限
flush privileges;
验证
撤销权限
revoke ${auth} on ${database}.${table} from '${username}'@'${host}';
${auth}:权限
- all privileges:全部权限
- select:查询权限
- select,insert,update,delete:增删改查权限
- select,[...]:查...等权限
database:数据库名{database}:数据库名 database:数据库名{table}:具体表名
- *:代表全部表
- A,B:代表具体A、B表
${username}:代表用户名
${host}:代表访问权限:
- %:通配所有
host
地址权限(可远程访问) - localhost:本地权限(不可远程访问)
- 指定特殊IP访问权限:如10.138.106.102
# 撤销testUser用户对test数据库中的user表的增删改差权限
revoke select,insert,update,delete on test.user from 'testUser'@'%';
# 查看用户权限
show grants for 'testUser'@'%';
删除用户
drop user '${username}'@'${host}';
${username}:代表用户名
${host}:代表访问权限:
- %:通配所有
host
地址权限(可远程访问) - localhost:本地权限(不可远程访问)
- 指定特殊IP访问权限:如10.138.106.102
# 删除用户testUser
drop user 'testUser'@'%';
转载自:https://juejin.cn/post/7043605280541638669