转自:https://blog.51cto.com/l0vesql/2062630

1.背景:
基于网络安全环境的恶化,以前用最高权限和root用户直接进行备份的操作越来越不可取,每次手工备份太麻烦,基于脚本备份又怕高权限账号泄密。

2.解决思路:
权限最小化赋予

3.操作:
使用物理备份工具备份时可能需要的权限:
物理备份工具:innobackupex,MySQL Enterprise Backup等等

权限:lock tables作用:备份时锁表,产生一致性备份权限:process作用:show processlist,show engine innodb status,查看线程,查看引擎状态权限:reload作用:flush table/host/logs/tables/status/threads/refresh/reload,所有的flush操作。用于锁表,切割日志,更新权限权限:replication client作用:show master/slave status;查看事务日志执行状态与位置show binary logs;查看当前保存的事务日志列表与文件大小权限:super作用:super权限很多很多,但是没有CURD(增删改查权限),这里点到为止说一下和备份相关的起停复制线程,切换主库位置,更改复制过滤条件,清理二进制日志,赋予账户视图与存储过程的DEFINER权限,创建链接服务器(类似于MSSQL的订阅服务器),关闭线程,不受最大连接线程数限制的VIP连接通道,阻断刷新线程的命令,不受离线模式影响,

– 授权语句:

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>grant lock tables,reload,process,replication client,super,select,event,trigger,show view on *.* to bak@'192.168.%';
mysql>flush privileges;

备注:
super权限可以防止因为线程满,备份任务无法连接数据库而导致的备份翻车。且阻断刷新线程也是很重要

innobackupex主要以物理文件和备份缓存文件的方式进行,所以不需要show权限与select权限

逻辑备份的基本原理就是数据全部读取,必须select与show权限,查看表定义的权限由select权限提供

login-path的以port+host的方式保存时,会在用户目录下生成.login.cnf文件,拷贝到网络互通的其他主机上,仍然可以登陆,方便的同时也留下祸根

mysql备份用户权限【转】相关推荐

  1. 转: MySQL 赋予用户权限(grant %-远程和localhost-本地区别)

    2019独角兽企业重金招聘Python工程师标准>>> ‍‍相关参考资料: MySQL 赋予用户权限命令的简单格式可概括为: grant 权限 on 数据库对象 to 用户 一.gr ...

  2. linux mysql更改用户权限

    mysql更改用户权限 This entry was posted by admin Monday, 26 April, 2010 1."grant all on *.* to root@' ...

  3. MySQL配置用户权限

    MySQL配置用户权限 一.步骤 1.查看MYSQL有哪些用户 2.查看当前登陆用户 3.创建用户 4.赋权 5.显示权限 6.回收其所有权限 7.刷新权限 8.删除用户 9.用户重命名 10.修改密 ...

  4. 【MySQL】 # MySQL对用户权限的简单操作:(1)创建新用户(2)赋权限

    MySQL对用户权限操作的详细内容:MySQL权限操作 1. 创建新用户 一般使用 Navicat 直接登录 MySQL,也可以使用命令行 mysql -u root -p,然后输入密码即可. 1.1 ...

  5. mysql 备份的权限_MySQL的权限设置和备份还原

    MySQL数据库系统的维护工作主要包括用户权限的设置.数据库的备份与恢复,本篇博客将对进行这些操作进行讲解 数据库的用户授权 MySQL数据库的root用户账号拥有对所有库.表的全部权限,频繁使用ro ...

  6. 获取mysql所有用户权限_python 获取mysql数据库列表以及用户权限

    #!/usr/bin/env python#coding: utf-8 importjsonimportpymysqlclassMysql(object):#mysql 端口号,注意:必须是int类型 ...

  7. mysql 导出用户权限_MySQL中导出用户权限设置的脚本分享

    在对MySQL数据库进行迁移的时候,有时候也需要迁移源数据库内的用户与权限.对于这个迁移我们可以从mysql.user表来获取用户的相关权限来生成相应的SQL语句,然后在目标服务器上来执行生成的SQL ...

  8. mysql 创建用户权限_10.创建 MySQL 用户及赋予用户权限

    10.1 使用语法: 通过在 mysql 中输入 help grant 得到如下帮助信息 CREATE USER 'jeffrey'@'localhost' IDENTIFIED BY 'mypass ...

  9. MySql的用户权限

    用户管理 MySQL数据库中的表与其他任何关系表没有区别,都可以通过典型的SQL命令修改其结构和数据.可以使用GRANT和REVOKE命令.通过这些命令,可以创建和禁用用户,可以在线授予和撤回用户访问 ...

最新文章

  1. 告别痛苦,快乐学习Pandas!开源教程《Joyful-Pandas》发布
  2. 27岁华裔小伙一战成名!搞出美国新冠最准预测模型,一人干翻专业机构,彭博:Superstar...
  3. 北京/上海/深圳内推 | 百度视觉技术团队招聘视觉/3D算法工程师
  4. c++ vector 实战(基本使用)
  5. C++ Primer 5th笔记(chap 12 动态内存)智能指针概述
  6. 外循环java作用_循环和外循环的区别和作用
  7. MySQL高级 - InnoDB特性
  8. MySQL数据库数据分开存储
  9. java 类及对象的课后作业_JAVA类和对象课后作业
  10. kube-scheduler 源码解析
  11. 使用ldconfig命令将/usr/local/lib加入到默认库
  12. Python相关网站(持续更新)
  13. Changing a remote's URL
  14. [2018.11.05 T3] 零食
  15. DEA的简单介绍以及Matlab做题例子
  16. 高端物理学名词_物理专业名词
  17. 认知的方法论 --以学习python编程语言为例
  18. docker Hub-Node模式运行selenium grid4,经常遇到用例运行到60%-65%时无法继续运行
  19. 绝了!一个妹子 rm -rf 把公司整个数据库删没了...
  20. EasyExcel 实现模板导出、模板导入分析功能

热门文章

  1. python基础教程:__call__用法
  2. 斯德哥尔摩的照片七:城市漫步(中)
  3. 总结一下使用Emgucv的经验和经历
  4. java水果爆炸动画_5分钟快速实现Android爆炸破碎酷炫动画特效的示例
  5. aj1黑白反转价格_除了倒勾配色AJ1,更有反转配色WHITE MOCHA同步发售
  6. torch tensor去掉1维_自制番茄酱,只加糖是不对的,牢记1点技巧,番茄酱沙甜更好吃...
  7. nmon在linux应用
  8. Excel按数字大小排序
  9. 编辑混合变形变形器(Blend Shape)
  10. 红米手机1 升级到android5,从小米MAX 1到红米 K20 pro的“升级”之路。