生产环境mysql用户以及权限规划
原创原则:为生产库建立不同的用户管理用户业务用户
管理用户:超级管理用户、dba 运维 用户、备份用户、监控用户、复制用户 (克隆用户)
业务用户:每个业务模块一个用户,命名可以是user_业务模块名
只读查询用户:允许开发人员定位问题查询生产库的只读权限
权限分配原则:根据最小原则给每个用户满足需求的最小权限,要是不够再增加
mysql用户和权限牵涉到的表
user : 包含用户账户,全局权限
db: 数据库 级别的权限表
tables_priv: 表级别的权限表
columns_priv: 字段级别的权限表
procs_priv: 存储过程和函数权限表
proxies_priv: 代理用户权限表
mysql用户包括 请求连接的主机名和用户名
连接的主机名不要使用% 使用具体的ip或者 域名 来限定连接
管理权限:授权方式使用*.*
create user
event
process
proxy
reload
replication clinet
replication slave
show databases
shutdown
super
create tablespace
usage
grant option
数据库级别权限:授权方式可以*.* db.*
create
create routine
create temporary tables
loack tables
references
数据库对象级别的权限 授权方式可以是*.* db.* db.table_name
alter
alter routine
create view
delete
execute
index
insert
select
权限还可以按如下划分
开发权限:
delete
insert
select
update
alter
create temporary tables
trigger
create view
show view
alter routine
create routine
execute
index
event
管理权限:
create
lock tables
grant option
create tablespace
create user
process
proxy
reload
replication client
replication slave
show databases
shutdown
super
usage
创建用户:
保留超级管理员root@localhost用户 修改复杂的密码包含大小写字母数字特殊字符
alter user 'root'@'localhost' identified by 'YWgui123@qwaszx'
dba运维用户:
create user 'yw_dbauser'@'172.12.2.%' identified by 'Guijiyw@cluster2019';
GRANT INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, PROCESS, FILE, INDEX, ALTER, SHOW DATABASES, SHOW VIEW, CREATE USER ON *.* TO `yw_dbauser`@`172.12.2.%`
show grants for 'yw_dbauser'@'172.12.2.%'
备份用户:
create user 'xtrabackup_user'@'172.12.2.%' identified by 'xtra_dbQWE@!';