mysql备份所需权限
抄自:https://www.cnblogs.com/bianxj/articles/12072744.html 有改动。
物理备份工具
物理备份工具:innobackupex,MySQL Enterprise Backup等等
权限 | 作用 |
---|---|
lock tables | 备份时锁表,产生一致性备份 |
process | 查看线程,查看引擎状态 |
reload | 所有的flush操作。用于锁表,切割日志,更新权限 |
replication client | show master/slave status;查看事务日志执行状态与位置;show binary logs;查看当前保存的事务日志列表与文件大小 |
super | super权限很多很多,但是没有CURD(增删改查权限) |
授权语句
grant lock tables,reload,process,replication client,super on *.* to bak@'192.168.%';
flush privileges;
逻辑备份工具
逻辑备份工具:mysqldump,mysqlpump,mydumper等等
权限 | 作用 |
---|---|
SELECT | 查询表中数据 |
SHOW VIEW | 查看创建视图的语句 |
TRIGGER | 备份触发器 |
EVENT | 备份事件(定时任务) |
lock tables | 备份时锁表,产生一致性备份 |
reload | show processlist,show engine innodb status,查看线程,查看引擎状态 |
replication client | show master/slave status;查看事务日志执行状态与位置;show binary logs;查看当前保存的事务日志列表与文件大小 |
super | 关闭线程,不受最大连接线程数限制的VIP连接通道,阻断刷新线程的命令,不受离线模式影响 |
授权语句
mysql 5-7
grant lock tables,reload,process,replication client,super,select,event,trigger,show view on *.* to bak@'192.168.%';
flush privileges;
mysql 8.0
create user 'bak'@'localhost';
grant lock tables,reload,process,replication client,super,select,event,trigger,show view on *.* to 'bak'@'192.168.%';
flush privileges;
注:mysql8.0默认不允许直接用grant创建用户
备注: super权限可以防止因为线程满,备份任务无法连接数据库而导致的备份翻车。且阻断刷新线程也是很重要。 innobackupex主要以物理文件和备份缓存文件的方式进行,所以不需要show权限与select权限。 逻辑备份的基本原理就是数据全部读取,必须select与show权限,查看表定义的权限由select权限提供。 login-path的以port+host的方式保存时,会在用户目录下生成.login.cnf文件,拷贝到网络互通的其他主机上,仍然可以。