范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

MySQL库很大,如何进行数据备份与恢复

  上一篇介绍了逻辑备份工具mysqldump,本文将通过应用更为普遍的物理备份工具xtrabackup来演示数据备份及恢复的第二篇内容。1. xtrabackup 工具的安装1.1 安装依赖包/*  xtrabackup 的使用需要安装相关的依赖包 否则使用过程中会报相关错误 */ yum install -y rsync perl l perl-Digest-MD5 perl perl-devel libaio libaio-devel perl-Time-HiRes perl-DBD-MySQL1.2 下载及安装
  去percona官网下载对应版本的安装包 https://www.percona.com/downloads , 因为每个版本对应的数据库版本不同,因此需要根据数据库的版本选择对应的xtrabackup的安装包.
  当前测试使用的数据库为MySQL5.7 因此下载2.4版本https://www.percona.com/downloads/Percona-XtraBackup-2.4/LATEST/
  另外,2.4.10及以后版本中,对libgcrypt进行了区分,因此也需要查询自己服务器的libgcrypt版本,然后选择对应的安装包
  查看libgcrypt方法:[root@testdb ~]# yum list installed|grep libgcrypt libgcrypt.x86_64                     1.5.3-14.el7                      @anaconda
  然后下载对应包/* 二进制包 */ wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.18/binary/tarball/percona-xtrabackup-2.4.18-Linux-x86_64.libgcrypt153.tar.gz /*  rpm包 */ wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.18/binary/redhat/7/x86_64/Percona-XtraBackup-2.4.18-r29b4ca5-el7-x86_64-bundle.tar
  二进制包解压后即可使用,rpm包下载解压后 rpm -ivh 安装即可。操作均很简单,此处略过
  xtrabackup通常使用 innobackupex命令, 可以使用 innobackupex --help 命令查看参数及说明。
  其中常用参数及说明如下:
  --defaults-file                 待备份mysql实例的配置文件 --user=USER                     备份用户,默认为当前系统用户,建议使用备份专用账号 --password=PASSWD               备份用户密码 --port=PORT                     数据库端口,默认3306 --host=HOST                     需备份数据库的IP --apply-log                     前滚、回滚日志,恢复前用 --database                      指定需要备份的数据库,多个数据库之间以空格分开 --copy-back                     将备份数据复制到目标路径 --incremental                   增量备份,后面接的参数值为指定的增量备份的路径 --incremental-basedir=DIRECTORY 增量备份时使用指向上一次的增量备份所在的目录 --incremental-dir=DIRECTORY     增量备份还原的时候用来合并增量备份到全量,用来指定全备路径 --redo-only                     对增量备份进行合并 --rsync                         加快本地文件传输,适用于non-InnoDB数据库引擎。不与--stream共用 --no-timestamp                  生成的备份文件不以时间戳为目录
  1.3 创建备份账号
  备份的账号建议单独创建,并授予相关权限
  mysql> CREATE USER "backup"@"localhost" IDENTIFIED BY "Backup@123.com"; mysql> GRANT SUPER,RELOAD, LOCK TABLES, PROCESS, REPLICATION CLIENT ON *.* TO "backup"@"localhost";  mysql> FLUSH PRIVILEGES;
  2. 全量备份2.1 本地全量备份,不压缩
  后续会以此为基础进行增量备份/* 创建备份结果的目录, 此步骤也可以省略 */ mkdir  all_backup  /*   开始全量备份  */  /root/xtrabackup/bin/innobackupex  --defaults-file=/app/data/mysql3306/etc/my.cnf     --socket=/app/data/mysql3306/tmp/mysql.sock  --port=3306 --user=backup --password="Backup@123.com" --no-timestamp    all_backup
  备份的结果存放在指定的目录 all_backup里,内容如下:
  注: 如果没有添加阻塞DDL操作的参数,备份过程中如有DDL操作,备份将终止。因此建议日常备份放在从库中进行。2.2 本地tar方式压缩备份
  有时为了考虑磁盘空间问题,会在备份的时候直接压缩用以节约磁盘空间或解决磁盘空间不足以存放全量非压缩文件的问题。/* gzip方式压缩 */ /root/xtrabackup/bin/innobackupex  --defaults-file=/app/data/mysql3306/etc/my.cnf     --socket=/tmp/mysql.sock  --port=3306 --user=backup --password="Backup@123.com" --stream=tar /tmp |gzip >all_backup.tar.gz
  中间过程省略
  备份后的结果是一个压缩文件,经过对比,压缩后数据约为非压缩情况下的20%,压缩比还是比较高的。
  不过,压缩备份的方式速度相对较慢,且消耗CPU,该影响因素需要大家考虑到,视情况选择是否压缩。
  注意: 如果有单表过大 而/tmp路径空间不足的情况备份过程中可能会报错,因此可以指定其他空间较大的目录2.3 本地xbstream方式压缩备份
  gzip的压缩方式备份可能会有bug(案例可以自行寻找),出现如下错误:xtrabackup: error: The transaction log file is corrupted. xtrabackup: error: The log was not applied to the intended LSN!
  因此可以采用xbstream方式进行备份,备份命令如下:/root/xtrabackup/bin/innobackupex  --defaults-file=/app/data/mysql3306/etc/my.cnf     --socket=/tmp/mysql.sock  --port=3306 --user=backup --password="Backup@123.com"  /app/backup  --tmpdir=/app/backup --stream=xbstream|gzip  - > all_backup.xbstream.gz
  xbstream压缩备份的过程和tar一致,就不再解释了。2.4 远程备份到其他机器
  远程备份与本地备份的相比 需要额外的配置远程主机的免密登录权限/*  在备份所在用户的主机下配置连接目标主机的免密 */ ssh-keygen ssh-copy-id -i user@"target_ip"
  之后就可以将类似于本地备份的模式 将备份结果发送到远程机器/root/xtrabackup/bin/innobackupex  --defaults-file=/app/data/mysql3306/etc/my.cnf     --socket=/tmp/mysql.sock  --port=3306 --user=backup --password="Backup@123.com" --stream=tar /tmp --no-timestamp | ssh user@"target_ip" "cat - > /app/backup/remote_backup.tar"
  备份过程中可以在目标机器看到对应的备份文件,完成后如下
  注:远程备份的目录需要有写入权限另外,和备份备份一样,如果存在大表或超大事务运行时不建议使用/tmp目录3. 增量备份3.1 第一次增量备份
  可以先根据2.1的本地全备的基础上进行增量备份,首次增量备份脚本如下:/root/xtrabackup/bin/innobackupex  --defaults-file=/app/data/mysql3306/etc/my.cnf     --socket=/tmp/mysql.sock  --port=3306 --user=backup --password="Backup@123.com" --incremental /app/backup/  --incremental-basedir=/app/backup/all_backup
  此时,备份的结果放在/app/backup目录下,由于没指定no-timestamp参数,备份的结果存在在已三期时间命名的目录下:
  备份的过程和全量备份很相似,但是备份结果是不一样的
  结果如下
  注: 增量备份仅能应用于InnoDB或XtraDB表等事务表,对于MyISAM表而言,执行增量备份时依旧进行全量备份3.2 第二次增量备份
  第二次增量备份是在第一次增量备份的基础上进行,因此incremental-basedir参数内容指定为上一次增量备份的目录即可/root/xtrabackup/bin/innobackupex  --defaults-file=/app/data/mysql3306/etc/my.cnf     --socket=/tmp/mysql.sock  --port=3306 --user=backup --password="Backup@123.com" --incremental /app/backup/  --incremental-basedir=/app/backup/2020-03-25_14-47-37
  完成后生成一个新的目录
  4. 恢复4.1 基于全量备份的恢复4.1.1 回放日志
  备份后的文件不能直接用作恢复,还需要先使用apply-log 做前滚和回滚 /root/xtrabackup/bin/innobackupex  --defaults-file=./backup-my.cnf  --apply-log  /app/backup/all_backup
  注: 回放日志的时候 defaults-file 选择备份目录里的即可4.2.2 恢复至目标实例
  本次恢复至一个新实例中(如果恢复至现有的实例需要先关闭目标实例,删除数据目录及相关日志存储的目录。不建议直接恢复至现有实例 ,除非实际需要)
  /*  创建新实例的相关目录 */  mkdir -p /app/data/mysql3307/{data,logs,tmp,etc}  /* 生产配置文件 ,本次直接拷贝其他实例的配置文件 修改对应端口等*/ cp /app/data/mysql3306/etc/my.cnf  /app/data/mysql3307/etc/  sed -i "s#3306#3307#g"  my.cnf  /*  创建错误日志 */ touch   /app/data/mysql3307/logs/mysqld.log
  然后拷贝至新实例中/root/xtrabackup/bin/innobackupex  --defaults-file=/app/data/mysql3307/etc/my.cnf --copy-back  /app/backup/all_backup
  修改目标实例相关目录的权限chown -R mysql:mysql /app/data/mysql3307
  启动新实例即可/usr/local/mysql5.7/bin/mysqld_safe  --defaults-file=/app/data/mysql3307/etc/my.cnf  &
  恢复完毕4.2 基于增量备份的恢复
  如果是基于第一次增量备份的恢复,操作如下/* 使用合并增量备份的方式进行回放日志,先进行全量备份的合并 */ /root/xtrabackup/bin/innobackupex  --apply-log --redo-only /app/backup/all_backup /* 再合并第一次增量备份 */  /root/xtrabackup/bin/innobackupex  --apply-log --redo-only /app/backup/all_backup --incremental-dir=/app/backup/2020-03-25_14-47-37
  如果基于多次增量备份的恢复,则在全量备份及第一次增量备份的基础上继续合并后续的备份即可/*  基于第二次增量备份的合并 */  /root/xtrabackup/bin/innobackupex  --apply-log --redo-only /app/backup/all_backup --incremental-dir=/app/backup/2020-03-25_15-06-28
  之后的操作和全量备份的恢复一样即可。
  5. 小结
  基于xtrabackup2.4版本备份MySQL5.7数据库的主要方法及过程常用情况均已演示,结尾处再总结一下xtrabackup的主要优点:物理备份,备份速度快热备份、无需停机恢复速度快自动会对备份文件进行验证
  本文只介绍了常用操作,还是有很多情况未做介绍,比如rds上的数据备份及还原等,请各位小伙伴自行探索,也可以与我讨论。关注我的公众号"数据库干货铺"及时解锁新文章,感谢。

俄罗斯顶级网红美人,风华正茂美人如画,异域穿搭感受文化的变迁我多么爱你的余音绕梁,那低沉的音调,深渊之声,还有那黄昏时分的寂寥,和你变幻莫测的情怀。普希金整个世界在我面前重新苏醒,如四月的芬芳,即使有雨水和寒风,因为这个世界有你,而变得与众秋冬季,请不要拒绝裙装的温柔多多穿着裙装让它滋养你内心的温柔吧时尚寄语微凉的天气很多人选择了穿裤装确实匆忙的早晨穿裙子太麻烦了丝袜的捆绑多少让人感到些许的不适然而身为女人怎能拒绝裙装的诱惑这种独属于女性的服装JNBY冬季新品,我们一起去看看吧JNBY是目前国内最具代表性的女装品牌,也是江南布衣集团旗下的,该品牌是与江南布衣发展历程一同成长起来的,这么多年JNBY一直以现代活力意趣坦然为设计理念,将设计理念还原到穿着上,N1种穿法的神仙马丁靴,谁能不爱呢?要我说一年四季什么天气都能穿而且还能和什么单品都能搭的鞋子,那一定就是马丁靴了吧!自从马丁靴在时尚圈走红之后,不管是明星还是博主,都是穿了又穿,人手一双的存在宋妍霏杨采钰也是,毕竟德云社励志语录分享给大家1吃亏要趁早,一帆风顺不是什么好事。2从小娇生惯养,没人跟他说过什么狠话,六十五岁走到街上谁瞪他一眼,当时就猝死了。3人生在世,无非是让别人笑笑,偶尔也笑笑别人。4事不可去尽,话不醉在深秋当萧瑟的秋风再度吹起,凉露沾衣,北方的秋天为你的到来而妩媚斑斓。曾记得,我在流年的深秋里因为你的离去而黯然神伤,那是一种难言的伤痛,那是一次心灵的浩劫。一直以为秋天是最美丽的季节,深秋穿毛衣开衫最方便!配T恤高领衫都不错,温柔减龄根据温度来穿衣,是很多女性的惯常操作,而深秋时节,还没有到穿大衣或者是羽绒服的时候,找到一款可以营造适当保暖效果但又不会显得臃肿的单品很是重要。毛衣开衫就很适合在这种时节采用,温柔realme10Pro通过国内CQC认证,搭载5000mAh电池IT之家10月17日消息,此前36氪称realme真我数字系列即将回归国内市场,新品型号名或为真我10系列。现在,新机已通过中国质量认证中心(CQC)认证,看来确实要来了。认证信息藏在山西的4A景区,被称北方明代第一古堡,却很少有人闻其名头条创作挑战赛读万卷书,行万里路。随着我们视野和阅历的不断增长,我们对于这个世界的认知也是在逐渐地扩大,就拿南北方城市做一个对比来说。经常出去玩耍或者是经常到各地谈生意的朋友应该是乌克兰首都基辅乌克兰这个词大家并不陌生,而基辅就是乌克兰最大的城市。作为乌克兰首都,基辅是一个以俄语为母语和乌克兰语共同使用的城市。因为在乌克兰语中意为火炉和火堆所在,这里也被称为火炉城市或火城在天安门广场升起五星红旗!他圆梦了17岁,张威看着升旗手的英姿萌生了一个心愿成为他24岁,在天安门广场张威分秒不差将五星红旗升起实现了年少时的梦想17岁的高中生在国旗护卫队埋下梦想种子这张照片拍摄于2015年照片里
早起不喝胡辣汤只为一碗它?有人从小学就开始追着吃了你知道吗?胡辣汤,只是河南早餐的13。旭日东升,开封老城里四味菜摊前人头攒动,铁打的摊位流水的菜,四处飘荡着让人垂涎欲滴的香气洛阳城里的牛肉汤豆腐汤驴肉汤也隆重登场,配上饼丝烧饼更生活可以很美好生活旅行和读书,是陶立夏作品中永恒的主题。新作迟来的告白通过生活旅行阅读三个维度,写下了生活,如此很好旅行,远行结束的时候读书,我们没有成为别人三个章节。它们各自独立,又相互契合,赤坎古镇潭江水畔的一颗明珠水乡古镇,便是江湖的集大成者。这样的古镇,人们认为都在江浙。但在广东珠江三角洲,江门开平赤坎古镇像藏在深闺中的扁舟,在粤港澳大湾区的江湖江河,在370多年前,就像现今的高速公路,所海底种珊瑚(原载湛江日报2022年11月22日)黄康生已经是寒冬腊月了,漠河北极村早已冰天雪地,而徐闻南极村依然阳光普照,温暖如春。趁阳光还暖,珊瑚达人雷公墨赶紧备料备船出海,还没等船只停稳雾入仙境!厦门迎来春节以来最大一场浓雾海峡导报2月14日讯(记者朱黄郑丽金黄建民文叶鑫洋陆军航图)春节以来最大的一场浓雾,2月13日清晨降临鹭岛。在雾气的包裹下,远山高楼道路纷纷隐身,鹭岛宛如仙境,整个城市美成了一幅水蟳埔簪花围火了!来泉州做一回海的女儿早报记者李菁庄丽祥通讯员许冬福文图新年伊始,蟳埔女的簪花围,因兔年春节艺术装置簪花兔和赵丽颖的开年造型大片而火出圈。不仅抖音微博,包括小红书在内的多款APP上都有到泉州蟳埔打卡的热高跷踏行舞龙踩街,今天这里好热闹!福建日报新福建客户端2月14日讯(记者陈汉儿)莆田元宵,一月欢腾。直至正月廿四,依旧高潮迭起。在莆田沿海地区,人们闹元宵主要以聚会巡游为主,加之开展各类民俗活动,以祈愿风调雨顺五谷六百公里深度试驾比亚迪护卫舰07开春出行2023年开春,怎样才能平复过年忙碌兴奋的心情,从而转换角色投入兔年的学习工作呢?想必来一场短途的自驾游会是一个极为不错的选项。近日有幸参加了比亚迪护卫舰07领骑舰赏会重庆站的活动自制能拉丝的日式芝士年糕,外脆里糯太香了,做法超简单关注大胖友图图,每天都能看到新奇,简单,美味又实用的食谱哦你们喜欢吃糯叽叽的食物么?再加点芝士如何?太好了,我们将获得一份糯叽叽的拉丝芝士年糕。我们今天就来做简单的芝士年糕。你需要今年开春这4款短外套最吃香,上了年纪的女人穿,时髦又优雅开春了,衣橱又要进行更新了,大衣羽绒服被收起来,取而代之的是那些利落实用的时尚短外套,譬如短风衣短皮衣短西服等等。但对于上了年纪的女人,衣服永远不要买多,在众多的春季外套中,为大家博扬32分杜伦3017活塞双加时送马刺11连败,马刺新援砍31分活塞双加时138131送给马刺11连败。马刺曾在第二节还剩8分钟时4327领先16分。但活塞打出257的高潮一度反超比分,半场5354落后1分。第三节活塞得到38分,第四节还剩6分