为了避免误操作,生产库创建SELECT(查询)权限账号
一、创建用户
命令
CREATE USER '用户名'@'允许的主机' IDENTIFIED BY '密码';
说明
允许的主机:
- localhost : 本机访问
- % : 从任意远程主机访问
- 指定ip地址访问:192.168.x.xxx
例子
创建queryuser用户,可以从任意远程主机访问
CREATE USER 'queryuser'@'%' IDENTIFIED BY '123456';
二、授权
命令
GRANT 权限类型 ON 数据库名.表名 TO '用户名'@'允许的主机'
说明
- 权限类型:
- SELECT 查询权限
- INSERT 新增权限
- UPDATE 修改权限
- ALL 全部操作权限
- 数据库名:指定授权数据库名称,授权全部数据库使用 * 号
- 表名: 指定授权表名,授权全部表使用 * 号
例子
#为queryuser用户授权全部数据库,数据表的【所有操作】权限
GRANT ALL ON *.* TO 'queryuser'@'%';
#为queryuser用户授权全部数据库,数据表的【查询,增加】权限
GRANT SELECT, INSERT ON *.* TO 'queryuser'@'%';
#为queryuser用户授权全部数据库,数据表的【查询】权限
GRANT SELECT ON *.* TO 'queryuser'@'%';
三、刷新权限
命令
flush privileges;
说明
MySQL设置用户或更改密码后需用flush privileges刷新MySQL的系统权限表
四、其他操作
修改密码
update mysql.user set authentication_string=password('queryuser2021') where `user` = 'queryuser'
查询用户
SELECT HOST, USER, authentication_string FROM mysql.USER;
删除用户-慎重操作
delete from mysql.user where User = 'queryuser'