游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

MySQL8备份恢复(五)

  MySQL8备份恢复(一)
  MySQL8备份恢复(二)
  MySQL8备份恢复(三)
  MySQL8备份恢复(四)
  MySQL8备份恢复(五)锁定实例备份恢复
  MySQL8。x中新增了一个轻量级的备份锁,它允许在online备份的时候进行DML操作,同时可防止快照不一致。这个锁禁止的操作很少,它禁止的操作包括:
  1。文件的创建,删除,改名2。账号的管理3。REPAIRTABLE4。TRUNCATETABLE5。OPTIMIZETABLE
  长查询对flushtableswithreadlock是有影响的,整个系统会hung住,这时其它的数据库查询也不能用,包括usedatabase
  而lockinstanceforbackup没有这个问题。Oracle自己的备份产品(MySQLEnterpriseBackup8)就用这个锁,Percona的Xtrabackup在8的版本也是用这个锁
  percona自己的MySQL也有一种轻量级的备份锁locktableforbackup也是一种比flushtableswithreadlock要轻量级的锁,它不会刷新表,即存储引擎不会强制关闭表,并且表不会从表缓存中排出。因此,LOCKTABLESFORBACKUP仅等待冲突的语句完成,它不会等待SELECT或更新InnoDB表来完成开始备份之前,请锁定需要备份的实例:mysqlLOCKINSTANCEFORBACKUP;执行备份rsyncavvarlibmysqlbackups完成后解锁实例:mysq1UNLOCKINSTANCE;
  测试结果:锁定后可以DML,但是会阻塞EVENT事件二进制日志备份
  1。在服务器上创建一个复制用户CREATEUSERreplIDENTIFIEDWITHmysqlnativepasswordBY;GRANTREPLICATIONSLAVEON。TOrepl;flushprivileges;
  2。检查服务器上的二进制日志:SHOWBINARYLOGS;
  在服务器上找到第一个可用的二进制日志,可以从这里开始备份。例如binlog。000005
  3。登录到备份服务器并执行以下命令,会将二进制日志从MySQL服务器复制到备份服务器。你可以使用nohup或disownmysqlbinlogh192。168。55。44ureplpreadfromremoteserverstopnevertolastlograwbinlog。000005shelldisownadisown效果相当于忘记输入nohup,同样的还有setsid
  4。验证是否正在备份二进制日志lsltrbinlog。MySQLShell备份恢复一说明MySQLShell介绍
  MySQLShell是MySQL的一个高级客户端和代码编辑器,是第二代MySQL客户端。第一代MySQL客户端即我们常用的mysqlMySQLShell关键特性
  支持Python和JavaScript两种语言模式。基于此,我们可以很容易地进行一些脚本开发工作
  支持AdminAPI。AdminAPI可用来管理InnoDBCluster、InnoDBClusterSet和InnoDBReplicaSet
  支持XDevAPI。XDevAPI可对文档(Document)和表(Table)进行CRUD(Create,Read,Update,Delete)操作MySQLShell核心优势
  1。并行Parallelization默认4个线程进行导出或者导入数据,可根据情况自己定义
  2。分块Chunking默认开启,将每个表数据分成大小相等的数据文件,默认64兆一个文件,由参数bytesPerChunk控制,最小128k(针对那些小表,小于64兆的表)
  3。压缩Compression
  默认开启压缩,压缩类型为时下最新的zstd压缩,另外还支持gzip压缩,zstd在压缩和解压之间获得了一个折中的平衡,相对比gzip压缩率高的情况下还要比gzip解压时间更短。compression:zstd默认开启,不用设置
  4。输出格式Outputformat
  MySQLShellUtilities工具默认使用loaddata语句预期的默认格式进行数据导出和导入,这会让输出文件更小,同时导入速度也更加快速。
  mysqldump,msqlpump,mydumper这三类导出工具都是以insert语句的形式导出数据,这在速度上明显要落后于loaddata语句,官方文档中描述loaddata方式要比insert方式快20倍MySQLShell使用时注意
  通过dumpInstance,dumpSchemas,dumpTables生成的备份只能通过loadDump来恢复
  通过exportTable生成的备份只能通过importTable来恢复
  使用限制:MySQLShell工具目前在数据导出导入时,目标库的版本只适用于MySQL5。7和8。0版本,不适用低于5。7的版本
  MySQLShell的安装yuminstallmysqlshellcommercial8。0。311。1。el8。x8664。rpm登录mysqlshuriroot127。0。0。1:3308mysql二例子
  1。备份例子util。dumpInstance(backupfull,{compression:none})AcquiringglobalreadlockGlobalreadlockacquiredInitializingdone1outof5schemaswillbedumpedandwithinthem8tables,0views。3outof6userswillbedumped。GatheringinformationdoneAlltransactionshavebeenstartedLockinginstanceforbackupGlobalreadlockhasbeenreleasedWritingglobalDDLfilesWritingusersDDLRunningdatadumpusing4threads。NOTE:Progressinformationusesestimatedvaluesandmaynotbeaccurate。WritingschemametadatadoneWritingDDLdoneWritingtablemetadatadoneStartingdatadump124(198。22Krows158。99Krows),133。81Krowss,0。00BsDumpduration:00:00:00sTotalduration:00:00:01sSchemasdumped:1Tablesdumped:8Datasize:598。90MBRowswritten:198221Byteswritten:598。90MBAveragethroughput:598。90MBs
  2。备份产生的内容
  。done。json:会记录备份的结束时间,备份集的大小。备份结束时生成
  。json:会记录备份的一些元数据信息,包括备份时的一致性位置点信息:binlogFile,binlogPosition和gtidExecuted,这些信息可用来建立复制
  。sql,。post。sql:这两个文件只有一些注释信息。在通过util。loadDump导入数据时,我们可以通过这两个文件自定义一些SQL。其中,。sql是数据导入前执行,。post。sql是数据导入后执行
  。tsv:数据文件。我们看看数据文件的内容
  TESTanews。json:记录了表相关的一些元数据信息,如列名,字段之间的分隔符(fieldsTerminatedBy)等
  TESTanews。sql:建表语句
  TEST。json:记录数据库中已经备份的表、视图、定时器、函数和存储过程
  TEST。sql:建库语句。如果这个库中存在存储过程、函数、定时器,也是写到这个文件中
  。users。sql:创建账号及授权语句。默认不会备份mysql。session,mysql。session,mysql。sys这三个内部账号
  3。恢复例子util。loadDump(backupfull)LoadingDDLandDatafrombackupfullusing4threads。Openingdump。。。TargetisMySQL8。0。31。DumpwasproducedfromMySQL8。0。31ScanningmetadatadoneCheckingforpreexistingobjects。。。ExecutingcommonpreambleSQLExecutingDDLdoneExecutingviewDDLdoneStartingdataload1thdsloading100(598。90MB598。90MB),20。59MBs,78tablesdoneExecutingcommonpostambleSQLRecreatingindexesdone23chunks(198。22Krows,598。90MB)for8tablesin1schemaswereloadedin50sec(avgthroughput12。13MBs)0warningswerereportedduringtheload。
  4。恢复产生的内容
  loadprogress。。progress:在导入的过程中,会在备份目录生成一个progressFile,用于记录加载过程中的进度信息,可用来实现断点续传功能三命令说明
  1。备份命令
  1)备份实例其中,outputUrl是备份目录,其必须为空。options是可指定的选项
  util。dumpInstance(outputUrl〔,options〕)
  2)备份指定库的数据。第一个参数必须为数组,如util。dumpSchemas(〔TEST〕,backupschema)从MySQLShell8。0。28开始,可直接使用util。dumpInstance中的includeSchemas选项进行指定库的备份
  util。dumpSchemas(schemas,outputUrl〔,options〕)
  3)备份指定表的数据。第二个参数必须为数组,如util。dumpTables(TEST,〔t〕,backuptable)从MySQLShell8。0。28开始,可直接使用util。dumpInstance中的includeTables选项进行指定表的备份
  util。dumpTables(schema,tables,outputUrl〔,options〕)
  2。恢复命令
  util。loadDump(url〔,options〕)
  3。不进入mysqlsh,操作系统命令行执行备份
  mysqlshuriroot127。0。0。1:3308mysqleutil。dumpInstance(backupfull1)四特性说明
  1。util。dumpInstance的关键特性
  多线程备份。并发线程数由threads决定,默认是4
  支持单表chunk级别的并行备份,前提是表上存在主键或唯一索引
  默认是压缩备份
  支持备份限速。可通过maxRate限制单个线程的数据读取速率
  util。loadDump的关键特性
  2。util。loadDump的关键特性如下:
  多线程恢复。并发线程数由threads决定,默认是4
  支持断点续传功能
  在导入的过程中,会在备份目录生成一个进度文件,用于记录导入过程中的进度信息
  文件名由progressFile指定,默认是loadprogress。。progress
  导入时,如果备份目录中存在progressFile,默认会从上次完成的地方继续执行。如果要从头开始执行,需将resetProgress设置为true
  支持延迟创建二级索引
  支持边备份,边导入
  通过LOADDATALOCALINFILE命令来导入数据
  如果单个文件过大,util。loadDump在导入时会自动进行切割,以避免产生大事务
  3。util。dumpInstance与mysqldump不同的地方
  util。dumpInstance会加备份锁。备份锁可用来阻塞备份过程中的DDL
  util。dumpInstance是并行备份,相对于mysqldump的单线程备份,备份效率更高五参数说明
  1。util。dumpInstance的参数解析
  过滤相关的选项:
  excludeSchemas:忽略某些库的备份,多个库之间用逗号隔开,如,excludeSchemas:〔db1,db2〕
  includeSchemas:指定某些库的备份
  excludeTables:忽略某些表的备份,表必须是schema。table的格式,多个表之间用逗号隔开,如,excludeTables:〔sbtest。sbtest1,sbtest。sbtest2〕
  includeTables:指定某些表的备份
  events:是否备份定时器,默认为true
  excludeEvents:忽略某些定时器的备份
  includeEvents:指定某些定时器的备份
  routines:是否备份函数和存储过程,默认为true
  excludeRoutines:忽略某些函数和存储过程的备份
  includeRoutines:指定某些函数和存储过程的备份
  users:是否备份账号信息,默认为true
  excludeUsers:忽略某些账号的备份,可指定多个账号
  includeUsers:指定某些账号的备份,可指定多个账号
  triggers:是否备份触发器,默认为true
  excludeTriggers:忽略某些触发器的备份
  includeTriggers:指定某些触发器的备份
  ddlOnly:是否只备份表结构,默认为false
  dataOnly:是否只备份数据,默认为false
  并行备份相关的选项
  chunking:是否开启chunk级别的并行备份功能,默认为true
  bytesPerChunk:每个chunk文件的大小,默认64M
  threads:并发线程数,默认为4
  OCI(甲骨文云)相关:
  ocimds:是否检查备份集与甲骨文云的MySQL云服务MySQLDatabaseService(简称MDS)的兼容性,默认为false,不检查。如果设置为true,会输出所有的不兼容项及解决方法。不兼容项可通过下面的compatibility来解决。
  compatibility:如果要将备份数据导入到MDS中,为了保证与后者的兼容性,可在导出的过程中进行相应地调整。具体来说:
  1)createinvisiblepks:对于没有主键的表,会创建一个隐藏主键:myrowidBIGINTUNSIGNEDAUTOINCREMENTINVISIBLEPRIMARYKEY。隐藏列是MySQL8。0。23引入的
  2)forceinnodb:将表的引擎强制设置为InnoDB
  3)ignoremissingpks:忽略主键缺失导致的错误,与createinvisiblepks互斥,不能同时指定
  4)skipinvalidaccounts:忽略没有密码,或者使用了MDS不支持的认证插件的账号
  5)stripdefiners:去掉视图、存储过程、函数、定时器、触发器中的DEFINERaccount子句
  6)striprestrictedgrants:去掉MDS中不允许GRANT的权限
  7)striptablespaces:去掉建表语句中的TABLESPACExxx子句
  osBucketName,osNamespace,ociConfigFile,ociProfile,ociParManifest,ociParExpireTime:OCI对象存储相关
  其它选项:
  tzUtc:是否设置TIMEZONE00:00,默认为true
  consistent:是否开启一致性备份,默认为true。若设置为false,则不会加全局读锁,也不会开启事务的一致性快照
  dryRun:试运行。此时只会打印备份信息,不会执行备份操作
  maxRate:限制单个线程的数据读取速率,单位byte,默认为0,不限制
  showProgress:是否打印进度信息,如果是TTY设备(命令行终端),则为true,反之,则为false
  defaultCharacterSet:字符集,默认为utf8mb4
  compression:备份文件的压缩算法,默认为zstd。也可设置为gzip或none(不压缩)
  2。util。loadDump的参数解析
  过滤相关:
  excludeEvents:忽略某些定时器的导入
  excludeRoutines:忽略某些函数和存储过程的导入
  excludeSchemas:忽略某些库的导入
  excludeTables:忽略某些表的导入
  excludeTriggers:忽略某些触发器的导入
  excludeUsers:忽略某些账号的导入
  includeEvents:导入指定定时器
  includeRoutines:导入指定函数和存储过程
  includeSchemas:导入指定库
  includeTables:导入指定表
  includeTriggers:导入指定触发器
  includeUsers:导入指定账号
  loadData:是否导入数据,默认为true
  loadDdl:是否导入DDL语句,默认为true
  loadUsers:是否导入账号,默认为false。注意,即使将loadUsers设置为true,也不会导入当前正在执行导入操作的用户
  ignoreExistingObjects:是否忽略已经存在的对象,默认为off
  并行导入相关:
  backgroundThreads:获取元数据和DDL文件内容的线程数。备份集如果存储在本地,backgroundThreads默认和threads一致
  threads:并发线程数,默认为4
  maxBytesPerTransaction:指定单个LOADDATA操作可加载的最大字节数。默认与bytesPerChunk一致。这个参数可用来规避大事务
  断点续传相关:
  progressFile:在导入的过程中,会在备份目录生成一个progressFile,用于记录加载过程中的进度信息,这个进度信息可用来实现断点续传功能。默认为loadprogress。。progress
  resetProgress:如果备份目录中存在progressFile,默认会从上次完成的地方继续执行。如果要从头开始执行,需将resetProgress设置为true。该参数默认为off
  OCI相关:
  osBucketName,osNamespace,ociConfigFile,ociProfile
  二级索引相关:
  deferTableIndexes:是否延迟(数据加载完毕后)创建二级索引。可设置:off(不延迟),fulltext(只延迟创建全文索引,默认值),all(延迟创建所有索引)
  loadIndexes:与deferTableIndexes一起使用,用来决定数据加载完毕后,最后的二级索引是否创建,默认为true
  其它选项:
  analyzeTables:表加载完毕后,是否执行ANALYZETABLE操作。默认是off(不执行),也可设置为on或histogram(只对有直方图信息的表执行)
  characterSet:字符集,无需显式设置,默认会从备份集中获取
  createInvisiblePKs:是否创建隐式主键,默认从备份集中获取。这个与备份时是否指定了createinvisiblepks有关,若指定了则为true,反之为false
  dryRun:试运行
  ignoreVersion:忽略MySQL的版本检测。默认情况下,要求备份实例和导入实例的大版本一致
  schema:将表导入到指定schema中,适用于通过util。dumpTables创建的备份
  showMetadata:导入时是否打印一致性备份时的位置点信息
  showProgress:是否打印进度信息
  skipBinlog:是否设置sqllogbin0,默认false。这一点与mysqldump(开启GTID的情况下)、mydumper不同,后面这两个工具默认会禁用Binlog
  updateGtidSet:更新GTIDPURGED。可设置:off(不更新,默认值),replace(替代目标实例的GTIDPURGED),append(追加)
  waitDumpTimeout:util。loadDump可导入当前正在备份的备份集。处理完所有文件后,如果备份还没有结束(具体来说,是备份集中没有生成。done。json),util。loadDump会报错退出,可指定waitDumpTimeout等待一段时间,单位秒六注意事项
  1。表上存在主键或唯一索引才能进行chunk级别的并行备份。字段的数据类型不限。不像mydumper,分片键只能是整数类型
  2。对于不能进行并行备份的表,目前会备份到一个文件中。如果该文件过大,不用担心大事务的问题,util。loadDump在导入时会自动进行切割
  3。util。dumpInstance只能保证InnoDB表的备份一致性
  4。默认不会备份informationschema,mysql,ndbinfo,performanceschema,sys
  5。备份实例支持MySQL5。6及以上版本,导入实例支持MySQL5。7及以上版本
  6。备份的过程中,会将BLOB等非文本安全的列转换为Base64,由此会导致转换后的数据大小超过原数据。导入时,注意maxallowedpacket的限制
  7。导入之前,需将目标实例的localinfile设置为ON速度比较
  数据库73G:
  mysqldump:34分钟输出10G,
  myshelldump线程4(默认):30分钟输出10G,
  myshelldump线程8:5分钟输出10G,
  myshelldump线程12:5分钟输出10G,
  xtrabackup:34分钟输出73G

真我Q5系列官宣80W超速闪充,还有四大升级亮点4月13日消息,realme真我手机官方微博正式官宣了真我Q5系列采用80W超速闪充。realme副总裁徐起在微博中用一张图展示了这次真我Q5系列80W闪充的四大升级亮点……爆料苹果iPhone14Pro系列拥有多项升级,但也将迎来涨IT之家5月19日消息,苹果的下一次大型iPhone活动依然将在9月举行。iDropNews称苹果已经决定在9月13日举办该活动。从目前已知信息来看,苹果iPhone14……曝苹果9月13日发布iPhone14Pro系列AppleWaIT之家5月18日消息,苹果的下一次大型iPhone活动将在9月举行。据iDropNews报道,苹果公司已经决定在9月13日举办该活动。尽管距离发布会还有大约四个月的时间,苹果……牙茅通策医疗A吃A告败!近2亿主力资金提前出逃和仁科技,股民本文来源:时代财经作者:幸雯雯刘子琪图片来源:Pexels牙茅通策医疗(600763。SH)的A吃A计划宣告告败。2月14日晚间,通策医疗披露公告称,决定终止……(已修复)苹果AppleCard用户发现iPhone钱包新B根据苹果的系统状态页面,苹果已经解决了部分用户可能在接收交易通知时遇到延迟的问题。如果你仍然没有看到交易,请尝试强制退出钱包应用程序,然后在iPhone上重新启动它。IT……苹果更新iPhoneiPadMac或AppleWatch国行感谢IT之家网友末6的线索投递!IT之家5月11日消息,苹果AppleTradein换购计划更新,国行带来更多抵扣优惠。苹果表示,即日起至5月31日,用符合条件的A……苹果iPhone14Pro系列颜色版本曝光,拥有全新可变紫色IT之家5月11日消息,据MacRumors报道,根据最近的爆料,iPhone14和iPhone14Pro型号将提供更新的颜色选择,包括全新的紫色。一则删除的微博帖子揭示……部分用户抱怨苹果MacBookPro1416英寸2021款出IT之家5月11日消息,据9to5Mac报道,2021款MacBookPro在六个月前推出,但许多用户似乎遇到了音频问题。更具体地说,他们抱怨在播放任何声音输出时扬声器发出噼啪……保利尼奥加盟后,科林蒂安队内已经拥有五名中超旧将在保利尼奥加盟科林蒂安后,这支巴甲劲旅目前已经坐拥5名中超旧将。除新加盟的保利尼奥以外,目前科林蒂安队内还有若、格德斯、奥古斯托和吉尔等在中超有过效力的球员。其中,若在2……一加9周年重构粉丝加园,9城同步庆生,张老板线下宠粉!每一个成功的科技品牌,都有着固定的粉丝。而具有长期忠诚度的粉丝,是品牌能够长盛不衰的基础。而盘点厂商和粉丝交流的途径,大致有社区、微博、公众号、视频号等途径。其中,最便于交流的……和孩子分房睡太晚,有个隐患可能会跟随娃一辈子?挥之不去的阴影过去,由于经济地位有限或缺乏性别意识,亲子同睡是很正常的。但随着时代的变迁,人们逐渐意识到,孩子长大后,父母应该与孩子建立界限。第一步是睡在不同的房间。什么时候分床睡最好?正如……为了找到蜇人最疼的生物,他们被几百种生物蜇了上千次防走失,电梯直达安全岛报人刘亚东A来源:环球科学澳大利亚昆士兰大学的高级研究塞缪尔罗宾逊(图片来源:TwitterStingScience)以科学之名,被蜇成……
经济日报群创光电miniLED屏送样苹果,用于2020款iPIT之家2月24日消息IT之家从台湾《经济日报》了解到,消息称群创光电的miniLED屏已送样苹果,准备搭载在下半年推出的最新款iPadPro平板上。《经济日报》报道,苹……苹果现在允许在iPhone和iPad上使用通知广告IT之家3月5日消息你还记得此前苹果利用自家AppleMusic推送促销广告的事情吗?比如为用户提供1个月或3个月的试用。但是据IT之家了解,通过App通知发送广告实际上在iO……热血传奇源代码泄露事件是什么情况今天来给大家了解一下当时传奇史上出名的源代码事件。网络上出现了很多传奇的私服的时候有很多人很纳闷,其实是意大利的服务器代码不知道为什么被泄露了,并迅速流传开来,只需要玩一点点的……苹果提醒零售店员工给顾客换机的iPhone现在缺货据外媒报道,苹果公司已经向其零售员工发出警告称,用于为顾客换机的iPhone将在未来一个月中面临供应短缺的状况。报道称,在苹果公司的有些零售店中,还出现了手机维修所需要的个别零……新品将至!苹果iPhoneSE2已进入最终生产验证阶段IT之家3月5日消息台媒DigiTimes消息,苹果传闻中的iPhoneSE2已在中国郑州一家组装厂进入最后的生产验证阶段。IT之家获悉,苹果很快将推出的这款采用LCD屏……mac小辣椒多少钱?mac小辣椒专柜价格mac小辣椒就是chili色,这个颜色涂出来是非常完美的砖红色,质地属于哑光质地,很显色的一款口红,下面就来看看这款口红的价格mac小辣椒多少钱价格在200左右,价格还是……苹果新专利MacBook虚拟扬声器可模拟房间任何位置的声音IT之家1月1日消息苹果公司刚刚获得了一项有关音频虚拟定位的专利,该专利最终可能为新的、更具沉浸感的音频应用奠定基础。苹果上个月已经提交了一个类似的专利,该专利使用户能够……占地面积约31万平方米!上海乐高乐园力争2024年开园!上海小伙伴们期待的乐高乐园度假区项目已进入实质性推进阶段,力争2024年开园!据悉,上海乐高乐园度假区位于金山区枫泾镇,占地面积达31。8万平方米,在保持全球乐高主题乐园核心体验及……AppleCard信用卡被指性别歧视,苹果联合创始人我证明北京时间11日消息,苹果联合创始人史蒂夫沃兹尼亚克(SteveWozniak)周日接受采访时称,高盛与苹果合作发行的AppleCard在确定信用额度时涉嫌性别歧视,自己的妻子也……全球首例!苹果AppleCard用户遭盗刷,物理卡或被克隆IT之家10月10日消息苹果在春天正式推出了AppleCard信用卡,这一信用卡特色是隐去了很多关键信息,保证卡片足够的安全能防止盗刷。AppleCard信用卡没有卡号也没有C……秋菊送香近重阳秋菊送香近重阳马云丹忽见黄花吐,方知素节回。重阳就菊时节又近了。清晨,开车驶经小城外环路,看到山坡上的菊花开了。微风拂过,菊花团团丛丛,笑得灿烂极了。特别是在……苹果iOSiPadOSApp在M1Mac上运行是什么样子差异IT之家11月19日消息外媒9to5Mac报道,苹果新款M1Mac与英特尔前代的最大区别之一是,任何M1Mac都可以运行iPhone和iPad应用。通过MacAppStore,……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网