设为首页 收藏本站
查看: 520|回复: 0

[经验分享] Mysql增量备份之Mysqldump & Mylvmbackup

[复制链接]

尚未签到

发表于 2018-10-9 09:40:01 | 显示全部楼层 |阅读模式
  http://lizhenliang.blog.51cto.com/7876557/1302732
  简单介绍
备份类型备份方式  热备份:备份期间不需要服务停机,业务不受影响;
  温备份:备份期间仅允许读的请求;
  冷备份:备份期间需要关闭Mysql服务或读写请求都不受影响;
  完全备份:full backup备份全部数据集;
  增量备份:incrementalbackup 上次完全备份或增量备份以来改变的数据;
  差异备份:differentialbackup 上次完全备份以来改变的数据;
  完全+增量备份方式恢复用到的备份文件:完全备份+增量备份+二进制文件;
  完全+差异备份方式恢复用到的备份文件:完全备份+增量备份+二进制文件;
逻辑备份优点缺点  逻辑备份可以使用编辑器或文本处理工具进行编辑或查看;
  恢复非常简单;
  比较灵活;
  与存储引擎无关;
  有助于避免数据损坏;
  逻辑备份可以使用编辑器或文本处理工具进行编辑或查看;
  恢复非常简单;
  比较灵活;
  与存储引擎无关;
  有助于避免数据损坏;
物理备份优点缺点  备份与恢复数据比较简单;
  InnoDB与MyISAM的物理备份容易跨平台、操作系统和Mysql版本;
  恢复速度比较快,不需要重新构建索引;
  InnoDB的原始文件会比逻辑备份大得多;
  物理备份不是总可以跨平台、操作系统及Mysql版本;
  文件名大小写敏感和浮点格式有可能会有问题
备份对象:  数据文件、配置文件、代码:存储过程,存储函数、触发器等、二进制日志、事务日志、服务器配置、管理脚本、任务计划等。
  Mysqldump增量备份
  使用Mysqldump备份工具实现完全备份,并结合二进制日志实现增量备份。
  特点:逻辑备份工具、支持InnoDB热备份、MyISAM温备份;备份与恢复较慢
  一、备份数据库
  1
  2
  3
  mysqldump -uroot -poldboy123 --lock-all-tables --flush-logs --databases test > /mysqlbackup/test_`date +%F`.sql
  --lock-all-tables:备份时为所有表请求加锁
  --flush-log:备份之前刷新日志
  二、备份二进制文件
  在test库中创建一个表,增加数据,模拟增量备份,并查看当前二进制日志位置。
  1
  cp /usr/local/mysql/data/mysqld-bin.00000* /mysqlbackup
  1
  2
  3
  4
  5
  6
  7
  mysql> create table abc (number INT(11), name varchar(100));
  mysql> show master status;
  +-------------------+----------+--------------+------------------+
  | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  +-------------------+----------+--------------+------------------+
  | mysqld-bin.000004 | 221 | | |
  +-------------------+----------+--------------+------------------+
  三、查看二进制文件和完整备份后LOG_POS值在什么位置
  1
  2
  3
  less /mysqlbackup/test_2013-09-29.sql  #前几行可以看到在106
  -- Position to start replication or point-in-time recovery from
  -- CHANGE MASTER TO MASTER_LOG_FILE='mysqld-bin.000005', MASTER_LOG_POS=106;
  四、二进制增量备份
  1>.完整备份后到现在备份:
  1
  2
  3
  mysqlbinlog --start-position=106 /var/lib/mysql/mysqld-bin/mysql/mysqld-bin.000005 > /mysqlbackup/test_incremental.sql
  --start-position:从哪个位置开始导出二进制日志
  --stop-position:从哪个位置结束,到末尾可以不指定
  2>.向数据库添加一条记录,然后删除数据库,再恢复到当前数据
  1
  2
  3
  4
  5
  6
  7
  mysql>create table abd (number INT(1),name varchar(10));
  mysql> show master status;   #查看二进制所在位置
  +-------------------+----------+--------------+------------------+
  | File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
  +-------------------+----------+--------------+------------------+
  | mysqld-bin.000005 | 527 | | |
  +-------------------+----------+--------------+------------------+
  五、恢复数据到当前数据,需要恢复完整备份+增量备份+增量备份后删除之前的二进制文件
  1
  2
  3
  4
  5
  6
  mysqlbinlog /var/lib/mysql/mysqld-bin.000005  #查看二进制,看在什么时候做的,文件最后下面看出在446
  # at 446
  #130929 11:04:16 server>
  SET TIMESTAMP=1380467056/*!*/;
  drop database test
  /*!*/;
  六、导出之前删除数据库至增量备份后的二进制文件
  1
  2
  3
  4
  5
  6
  mysqlbinlog --start-position=220 --stop-position=446 /var/lib/mysql/mysqld-bin.000005 > /mysqlbackup/test_446.sql
  mysql> source/backupn/test_2013-09-06.sql #恢复完整备份
  mysql> source/backup/test_incremental.sql #恢复增量备份
  mysql> source/backup/test_446.sql #恢复增量后至删除前的数据
  mysql> use test;
  mysql> show tables;查看数据恢复成功!
  Mylvmbackup快速完整备份
  mylvmbackup 是一个工具,用于快速创建完整的物理备份MySQL服务器的数据文件,备份数据时,将锁定 MySQL 所有的表,并将缓存中数据写到磁盘,然后执行 LVM 快照后解锁。
  使用LVM逻辑卷快照功能实现几乎热血备份的完全备份,并结合二进制日志实现增量备份。
  特点:几乎接近于热备份、物理备份、备份与恢复较快。
  必须mysql数据库存放目录是LVM卷下,如果要做增量备份,bin-log日志也要在LVM卷下,而且LVM卷要有空间给快照备份。
  修改mysql和bin-log日志位置:
  1
  2
  3
  vi /etc/my.cnf
  datadir=/myvg/data
  bin-log=/myvg/binlog/mysqld-bin
  mysql有以下几种日志:
  错误日志: -log-err
  查询日志: -log
  慢查询日志: -log-slow-queries
  更新日志: -log-update
  二进制日志: -log-bin
  一、创建LVM卷
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  1>.创建物理卷
  pvcreate /dev/sdb
  2>.创建卷组
  vgcreate myvg /dev/sdb
  3>.创建逻辑卷
  lvcreate -n mylv -L 19G myvg
  4>.格式化文件系统
  mkfs.ext4 /dev/myvg/mylv
  5>.挂载使用
  mount /dev/myvg/mylv/ /data
  二、安装使用Mylvmbackup
  1
  2
  3
  wget http://www.lenzg.net/mylvmbackup/mylvmbackup-0.14-0.noarch.rpm
  yum install -y perl-TimeDate perl-Config-IniFiles perl-DBD-MySQL #安装依赖包
  rpm -ivh mylvmbackup-0.14-0.noarch.rpm
  1、修改主配置文件
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  vi /etc/mylvmbackup.conf
  [mysql]
  user=root
  password=123.com
  host=localhost
  port=3306
  socket=/tmp/mysql.sock
  mycnf=/etc/my.cnf
  [lvm]
  vgname=myvg #卷组的名字
  lvname=mylv #逻辑卷的名字
  lvsize=5G #备份时创建的snapshot的大小
  [fs]
  mountdir=/opt/snap_mnt #snapshot的mount位置
  backupdir=/backup #备份打包后的存放位置
  relpath=mysqldata #如果只是想备份逻辑卷下的某个目录的话,则要指出来
  [tools]
  lvcreate=/usr/sbin/lvcreate
  lvremove=/usr/sbin/lvremove
  mount=/bin/mount
  tar=/bin/tar
  umount=/bin/umount
  [misc]
  prefix=backup #备份打包文件的命名前缀
  suffix=_mysql #定义备份文件名后缀
  2、备份数据库并验证备份文件
  1
  2
  3
  4
  5
  6
  7
  [root@202 ~]# mylvmbackup
  20130906 11:55:33 Info: Running: lvremove -f /dev/myvg/mysql_snap
  Logical volume "mysql_snap"successfully removed
  20130906 11:55:34 Info: DONE: Removing snapshot
  出现以上信息表示备份成功,最后删除快照卷!
  [root@202 ~]# ls /mysqlbackup/
  backup-201309029_115532_mysql.tar.gz
  完整备份成功!


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-619427-1-1.html 上篇帖子: MySQL单机多实例部署 下篇帖子: MySQL之高可用架构—MHA
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表