城市直播房产教育博客汽车
投稿投诉
汽车报价
买车新车
博客专栏
专题精品
教育留学
高考读书
房产家居
彩票视频
直播黑猫
投资微博
城市上海
政务旅游

MySQL8。0备份与还原工具讲解mysqlbackup篇

6月6日 喵小咪投稿
  mysqlbackup全称MySQLEnterpriseBackup(MEB),是MySQL官方推出的跨平台mysql数据库物理备份与还原的强大工具。它支持全量备份、增量备份、备份压缩、备份验证、备份加密、流式备份等特性,类似Oracle数据库的RMAN。相比于percona公司的xtrabackup,它的功能更强大,效率更高。
  下面基于mysqlbackup8。0。28版本讲解mysqlbackup的安装、全量备份、增量备份、备份压缩、备份验证、备份还原等功能。一、安装mysqlbackup
  1。下载
  登录oracleedelivery,进入下载连接选择适合你系统的版本下载,在这里我使用的是银河麒麟KylinOSServerV10SP2,因此我选择一个通用的预编译二进制的tar包,如下图:
  没有Oracleedelivery账号的朋友可以到私信我索取软件安装包。
  2。安装〔rootlight〕tarxvfmysqlcommercialbackup8。0。28linuxglibc2。17x8664minimal。tar。xz〔rootlight〕cdmysqlcommercialbackup8。0。28linuxglibc2。17x8664minimal〔rootlight〕mvbinmysqlbackupusrlocalmysqlbin〔rootlight〕chownmysql。mysqlusrlocalmysqlbinmysqlbackup〔rootlight〕mysqlbackupversionMySQLEnterpriseBackupVer8。0。28commercialforLinuxonx8664(MySQLEnterpriseCommercial)Copyright(c)2003,2022,Oracleandoritsaffiliates。
  安装完成。二、使用mysqlbackup
  mysqlbackup支持将数据库全部文件备份为一个独立的image,也支持将数据库按目录结构备份datafile。话不多说,分开演示。
  0。创建mysqlbackup专用账户
  创建一个immeblocalhost账户,专门用于备份数据库CREATEUSERimmeblocalhostIDENTIFIEDBYLaoGeDB123!;GRANTSELECT,BACKUPADMIN,RELOAD,PROCESS,SUPER,REPLICATIONCLIENTON。TOGRANTCREATE,INSERT,DROP,UPDATEONmysql。backupprogressTOGRANTCREATE,INSERT,DROP,UPDATE,SELECT,ALTERONmysql。backuphistoryTOGRANTLOCKTABLES,CREATE,DROP,FILE,INSERT,ALTERON。TOGRANTCREATE,DROP,UPDATEONmysql。backupsbthistoryTOGRANTENCRYPTIONKEYADMINON。TOGRANTINNODBREDOLOGARCHIVEON。TOGRANTALTERONmysql。backupprogressTOGRANTCREATE,INSERT,DROPONmysql。backupprogressoldTOGRANTCREATE,INSERT,DROP,ALTERONmysql。backupprogressnewTOGRANTCREATE,INSERT,DROPONmysql。backuphistoryoldTOGRANTCREATE,INSERT,DROP,ALTERONmysql。backuphistorynewTOGRANTALTERONmysql。backupsbthistoryTOGRANTCREATE,INSERT,DROPONmysql。backupsbthistoryoldTOGRANTCREATE,INSERT,DROP,ALTERONmysql。backupsbthistorynewTO
  1。backuptoimage方式的全量备份与还原
  1。1备份image
  备份命令:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockbackupimagemyfullbak。mbibackupdirdatabackupshowprogresscompresswithtimestampbackuptoimage
  参数解释:backupimage:生成的备份image名称backupdir:生成的备份image所在目录showprogress:显示备份进度〔可选项〕compress:对备份image进行压缩节省空间〔可选项〕withtimestamp:在backupdir目录下生成’年月日时分秒’的目录存储备份imagebackuptoimage:声明这是备份为image的备份
  备份后目录结构如下:lldatabackup20220413171602total4420rwrr1rootroot315Apr1317:16backupmy。cnfdrwxrx2rootroot33Apr1317:16datadirdrwxrx2rootroot191Apr1317:16metarwr1rootroot4496410Apr1317:16myfullbak。mbirwr1rootroot19453Apr1317:16serverall。cnfrwr1rootroot1570Apr1317:16servermy。cnf
  1。2查看与检验image
  可以通过listimage查看备份image中的文件内容
  list命令:mysqlbackupbackupimagedatabackup20220413171602myfullbak。mbilistimage
  可以通过validate验证备份image的有效性
  validate命令:mysqlbackupbackupimagedatabackup20220413171602myfullbak。mbivalidate
  1。3还原image
  还原数据库备份之前必须做完成以下前提:关闭mysqld服务清空mysql的datadir目录
  还原命令:mysqlbackupdatadirdatamysqldatabackupimagedatabackup20220413171602myfullbak。mbibackupdirdatabackup20220413171602tmpuncompresscopybackandapplylog
  参数解释:datadir:mysqlserver的数据库datadir,数据将还原至此backupimage:image备份的路径与名称backupdir:image临时工作目录用于释放image都此目录,必须为空uncompress〔可选项〕copybackandapplylog:应用redolog并且copydatafile至datadir
  2。backuptoimage方式的增量备份与还原
  2。1备份image
  先做全备:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockbackupimagemyfullbak。mbibackupdirdatabackupshowprogresscompresswithtimestampbackuptoimage
  再做增备〔方式一〕:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockwithtimestampcompressincrementalincrementalbasedir:databackup20220414003935backupdirdatabackupbackupimagemyincbak。mbibackuptoimage
  再做增备〔方式二〕:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockwithtimestampcompressincrementalincrementalbasehistory:lastbackupbackupdirdatabackupbackupimagemyincbak。mbibackuptoimage
  你一定会问:增量备份〔方式一〕和增量备份〔方式二〕有什么区别呢?
  首先看它俩表面的区别在于incrementalbase的写法:
  方式一:incrementalbasedir:databackup20220414003935
  方式二:incrementalbasehistory:lastbackup
  incrementalbasedir:databackup20220414003935是上次全备或增备所在目录,那么这次增量备份就要基于这个目录中的备份为基准。
  incrementalbasehistory:lastbackup是直接使用history:lastbackup代替上一次的备份,省去人工寻找目录的麻烦,MEB会自动到backuphistory表中查找上一次备份的目录。
  这是MEB为我们做的易用性改进。
  多个增量备份,只需要多次执行上面的命令即可。
  2。2还原image
  先还原全备:
  还原数据库备份之前必须做完成以下前提:关闭mysqld服务清空mysql的datadir目录
  还原全备命令:mysqlbackupdatadirdatamysqldatabackupimagedatabackup20220414003935myfullbak。mbibackupdirdatabackup20220414003935tmpuncompresscopybackandapplylog
  2。3再还原增备:
  还原增备命令:mysqlbackupbackupimagedatabackup20220414004043myincbak。mbibackupdirdatabackup20220414004043tmpdatadirdatamysqldataincrementalcopybackandapplylog
  多个增量还原,只需要多次执行上面的命令即可。注意backupimage每次都要用当前增量备份的目录。3。datafile方式的全量备份与还原
  3。1备份datafile
  备份命令:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockbackupdirdatabackupshowprogresscompresswithtimestampbackup
  参数解释:backupdir:生成的备份datafile所在目录showprogress:显示备份进度〔可选项〕compress:对备份image进行压缩节省空间〔可选项〕withtimestamp:在backupdir目录下生成’年月日时分秒’的目录存储备份imagebackup:声明这是备份为datafile的备份
  备份后目录结构如下:ll20220413173249datadirtotal2768rwr1rootroot56Apr1317:32backupauto。cnfrwr1rootroot1965Apr1317:32binlog。000006。bzrwr1rootroot16Apr1317:32binlog。indexrwr1rootroot7680Apr1317:32ibbackuplogfilerwr1rootroot5196Apr1317:32ibbufferpoolrwr1rootroot50974Apr1317:32ibdata1。ibzdrwxrx2rootroot196Apr1317:32mysqlrwr1rootroot2405933Apr1317:32mysql。ibzdrwxrx2rootroot8192Apr1317:32performanceschemadrwxrx2rootroot28Apr1317:32sysrwr1rootroot508Apr1317:32tablespacestrackerdrwxrx2rootroot209Apr1317:32ttecdisrwr1rootroot152091Apr1317:32undo001。uzrwr1rootroot171493Apr1317:32undo002。uz
  3。2还原datafile
  还原数据库备份之前必须做完成以下前提:关闭mysqld服务清空mysql的datadir目录
  3。2。1分步还原
  第一步:applylog
  因为在备份期间数据库还在读写,把这期间产生的redolog贴回数据文件上,以达到数据一致性mysqlbackupbackupdirdatabackup20220413173249uncompressapplylog
  第二步:copyback
  把已经达到数据一致性的数据文件copy到mysql的datadir目录下,此时不能再用uncompress参数,因此applylog时已经uncompress过了。mysqlbackupdatadirdatamysqldatabackupdirdatabackup20220413173249copyback
  3。2。2合并还原
  以上两步可以合为一步完成,即把applylog与copyback合并为copybackandapplylog,它首先会把redolog贴回datafile并初始化新的redolog,然后把backupdir目录下的全部数据copy回mysqldatadirmysqlbackupdatadirdatamysqldatabackupdirdatabackup20220413173249uncompressshowprogesscopybackandapplylog
  参数解释:datadir:mysqlserver的datadir目录,就是要还原到这里backupdir:生成的备份datafile所在目录showprogress:显示还原进度〔可选项〕uncompress〔可选项〕applylog:把备份期间的redolog贴回datafilecopyback:把datafile复制回datadir目录copybackandapplylog:把备份期间的redolog贴回datafile再把datafile复制回datadir目录
  聪明的你一定发现了,在使用以上两种备份方式进行备份时都加了compress参数,为什么还原的时候uncompress参数却是可选项呢?
  因为mysqlbackup8。0。21版本开始可以识别备份是否为compress,如果是,那么它在还原时会自动uncompress,不需要显示告诉它。
  在mysqlbackup4。X以及8。0。21之前版本是必须要显示指定uncompress的。4。datafile方式的增量备份与还原
  4。1备份datafile
  先做全备:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockbackupdirdatabackupshowprogresscompresswithtimestampbackup
  再做增备〔方式一〕:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockwithtimestampcompressincrementalincrementalbasedir:databackup20220414020939incrementalbackupdirdatabackupbackup
  再做增备〔方式二〕:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockwithtimestampcompressincrementalincrementalbasehistory:lastbackupincrementalbackupdirdatabackupbackup
  多个增量备份,只需要多次执行上面的命令即可。
  4。2还原datafile
  4。2。1先把全备applylog
  还原数据库备份之前必须做完成以下前提:关闭mysqld服务清空mysql的datadir目录
  全备applylog命令:mysqlbackupbackupdirdatabackup20220414020939applylog
  4。2。2再增备applyincrementalbackup
  增备applyincrementalbackup命令:mysqlbackupincrementalbackupdirdatabackup20220414021527backupdirdatabackup20220414020939applyincrementalbackup
  多个增量还原,只需要多次执行上面的命令即可。注意incrementalbackupdir每次都要用当前增量备份的目录。
  4。2。3最后将备份copyback到datadir
  将备份copyback到datadir命令:mysqlbackupdatadirdatamysqldatabackupdirdatabackup20220414020939copybackandapplylog5。还原后如何启动mysqld服务
  还原后,datadir目录下的数据文件用户属组不是mysql,因此要修改其属组,否则mysqld访问无法启动。
  修改属组命令:chownmysql。mysqldatamysqldataR
  启动mysqld服务:systemctlstartmysqld6。配置安全使用mysqlbackup
  严谨的朋友已经发现在以上命令中存在安全漏洞:用户名和密码是明文写在命令中的,且命令冗长,不易操作。
  如何配置能让mysqlbackup更安全呢?
  将socket、user、password写到my。cnf中,mysqlbackupdefaultsfileetcmy。cnf方式吗?掩耳盗铃罢了,因为在my。cnf中同样是明文的。
  这里我们使用mysqlconfigeditor来处理,既能隐藏密码,又能减少命令复杂度。
  mysqlconfigeditor是什么,读者可以自行查阅官方文档,下面直接上命令:
  配置:
  将mysqlbackup要使用的登录连接信息通过mysqlconfigeditor加密保存起来:mysqlconfigeditorsetloginpathbackupuserimmebpasswordsocketdatamysqldatamysqld。sockEnterpassword:此处输入password后回车
  查看:
  看一看加密保存的信息:mysqlconfigeditorprintloginpathbackup〔backup〕userimmebpasswordsocketdatamysqldatamysqld。sock
  可以看到,除了保存了user、socket外,还加密保存了密码。
  改造:
  mysqlbackup命令就可以如下改造,直接调用此加密信息:
  改造前:mysqlbackupuserimmebpasswordLaoGeDB123!socketdatamysqldatamysqld。sockbackupimagemyfullbak。mbibackupdirdatabackupshowprogresscompresswithtimestampbackuptoimage
  改造后:mysqlbackuploginpathbackupbackupimagemyfullbak。mbibackupdirdatabackupshowprogresscompresswithtimestampbackuptoimage
  通过改造前后对比,安全性与易用性都得到加强。7。进阶
  上面讲解了mysqlbackup的常规用法,其实它还有很多高级功能,比如:备份加密磁带备份创建主从复制创建组复制指定备份对象指定还原对象
  有兴趣的朋友可以参照官方文档继续深入研究。
  官方文档在此:https:dev。mysql。comdocmysqlenterprisebackup8。0en
  作者:老哥讲数据库
  简介:数据库高级架构师Oracle11gOCM认证MySQL5。78。0OCP认证。
  原创文章,转载请注明来源。
投诉 评论 转载

天玑90005100mAh100w,荣耀再次发力,这款新机太荣耀自从脱离了华为也有一段时间了,现在的荣耀似乎已经不再是之前迷茫阶段的手机品牌,市场份额也在稳步提升当中。而为了在市场中赢得更多的利益,荣耀也在不断地更新发布新的手机。……MySQL8。0备份与还原工具讲解mysqlbackup篇mysqlbackup全称MySQLEnterpriseBackup(MEB),是MySQL官方推出的跨平台mysql数据库物理备份与还原的强大工具。它支持全量备份、增量备份、……(国际)土耳其红茶在土耳其最大城市伊斯坦布尔,土耳其红茶是当地市民和游客喜爱的饮品。这是5月16日在土耳其伊斯坦布尔一家商店拍摄的茶具。新华社记者沙达提摄这是5月16日在土耳其伊斯坦……歌手乌兰图雅都38岁了,她为何还不结婚?文17编辑嘈坊套马杆的汉子,你威武雄壮,提到这句歌词,很多人都能立刻想起那首带着浓郁草原风情的《套马杆》。在随处可见的广场舞中,几乎都有这首歌,而这首歌的演唱……蜘蛛网的抗拉程度有多大?竟是同质量的钢丝强度的5倍生活中随处可见的蜘蛛丝是蜘蛛捕食的工具,用蛛丝做陷阱,那么蛛丝的抗拉强度到底有多大呢?美国麻省理工学院等机构在对蛛丝进行分学研究、对真实蛛网开展实验以及进行电脑模型分析后……痰多难除?中医善治痰者,不治痰而治气,4种方法,气顺痰出咳嗽、痰多怎么办?在生活中我们到处都可以看到,随时随地咳痰、吐痰的人,那你问他难受吗?难受。难受为什么不看看呢?看了,什么化痰,止痰的药以及一些汤方二陈汤之类的,都用过了……陈三废谎话连篇,疑似不想花心思拍搞笑段子,一心只想直播带货广西网红鼻祖之一,陈三废坐拥几千万粉丝,身家过亿,可以说他把天时地利人和结合到了一块,才成就了现在的自己。想必当初吸引粉丝的是他把他一家老小的生活都搬到了网上,拍成段子娱乐大家……谢晖前妻有了新节目颜值更胜从前,当年为啥就输给了老外?北京时间6月29日,大连人队在昨天中超联赛中3球完胜了广州城队,在球场上完成了对对手的双杀。主教练谢晖再次成为媒体追捧的对象。无独有偶,谢晖前妻佟晨洁也迎来了自己的新节目……比亚迪的新能源大跃进之战曾被外媒揶揄山寨宝马的比亚迪,在跨界造车20年后成为新能源汽车赛道的老三比亚迪集团成立于1995年,最早以制造手机电池起家。2003年,在手机电池业务还风生水起,手上还持……Knight恐鸡症又犯了!TES02不敌V5遭零封,Wayw哈喽大家好,这里是狗子,每天为您带来有趣的游戏资讯,喜欢的记得点个关注目前LPL夏季赛的常规赛已经只剩下最后的几场比赛,然而就在昨晚又一次爆冷,V5竟然是以2:0轻松零封……河北人足不出省,就能感受海边风情,河北3个最佳观海去处虽然已经过了立秋,但是天气依然炎热,很多小伙伴想去海边度假,吹吹海风,洗洗海澡,踩着细软的沙滩漫步,多浪漫,多唯美,可是,三亚因为疫情原因现在是不能去了,其实对于河北人来说看海……5个行业刷新你的认知,看起来不起眼,但是利润却很可观MCN共建计划何以解忧唯有暴富!俗话说的好,钱财虽然不是万能的,但是没有钱却是万万不能的。由此可见,钱财对于所有人来说都是非常重要的东西,尤其是在如今这个以物质为主的社会,没有……
对于乳贴女人们又了解多少呢真正有本事的人,都熬过了下面三种苦!违法建设治理三大行动工作总结坚持四个导向推动国企高质量发展天南河谷翻越喀喇昆仑山脉的印度,妄图蚕食我阿克赛钦的最后防线山竹果的分类南华大学获超级杯全国气排球联赛男子大学组全国总冠军人民币是否会延续年初的升值趋势?央行副行长回应哪一座城市值得让你回忆?刘国梁经常亮相颁奖典礼,对陈梦成就大满贯,有很大帮助促进乡村旅游赋能乡村振兴禁婚令,朝鲜婚姻禁止令三角关系还看结局!

友情链接:中准网聚热点快百科快传网快生活快软网快好知文好找