Loading... 在本博客中,”mysql”是一个系列文章,这些文章主要对mysql/mariadb的常用知识点进行了总结,每一篇博客总结的知识点有所不同,具体内容可参考mysql文章列表。 mysql文章列表直达链接:<a href="https://www.zsythink.net/archives/tag/mysql/" target="_blank" rel="noopener">mysql知识点总结</a> <img class=" ls-is-cached lazyloaded" title="1491530053599044.jpg" src="https://www.zsythink.net/wp-content/uploads/ueditor/php/upload/image/20170407/1491530053599044.jpg" alt="perconaXtrabackup.jpg" data-src="https://www.zsythink.net/wp-content/uploads/ueditor/php/upload/image/20170407/1491530053599044.jpg" style=""> 之前的文章已经总结了xtrabackup的相关原理,并且总结了怎样使用xtrabackup对InnoDB数据进行全量备份,增量备份,差量备份。 这篇文章总结了xtrabackup的其他一些常用的备份选项。 <h2 id="wznav_0">并行备份</h2> xtrabackup支持并行备份,就是备份时同时开启多个线程,并行的进行备份操作,这样可以加快备份完成的速度,但是会增大IO,默认情况下之开启一个进程进行备份。 使用–parallel选项指定并行备份的线程数量,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --parallel=</span><span class="enlighter-n1">8</span><span class="enlighter-text"> /backup</span></div> </div> </div> </div> 备份数据量较大时使用–parallel选项可以加快备份完成的速度。 <h2 id="wznav_1">节流备份</h2> xtrabackup支持节流备份,节流备份的意思就是节省IO操作的备份,当数据库服务器上已经没有过多的空闲IO时,我们可以使用节流备份。 使用–throttle选项限制每秒钟操作IO的次数,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --throttle=</span><span class="enlighter-n1">200</span><span class="enlighter-text"> /backup</span></div> </div> </div> </div> 注意:–throttle选项只适用于备份阶段,不能用于prepare阶段与copy-back阶段。 <h2 id="wznav_2">压缩备份</h2> xtrabackup支持压缩功能,使用压缩功能可以在备份时直接生成经过压缩的备份。 有两种方法直接生成经过压缩的备份。 方法一:使用–compress选项进行压缩。 方法二:使用流的方式进行备份,将备份的tar格式的流重定向到其他压缩软件进行压缩。 此处,我们只讨论方法一,因为方法二涉及到流备份,方法二会在下面的流备份章节总结。 在使用xtrabackup进行备份时,使用–compress选项可以对备份数据进行压缩,所有备份数据都会被压缩,包括事务日志和元数据文件。 使用–compress选项对备份进行压缩时,使用的压缩算法为”quicklz”,压缩出的文件的后缀名为”.qp”。 压缩备份的示例如下: <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --compress /backup</span></div> </div> </div> </div> 没错,就是这么简单,只需要添加–compress选项皆可,此时,我们对比一下不压缩时与压缩后的备份的大小。 <img class="lazyload" src="https://www.zsythink.net/wp-content/themes/zibll/img/thumbnail-lg.svg" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2017/04/041117_0953_1.png" style=""> 没有压缩的备份大小为56M,压缩后的备份大小为5M,效果还是非常可观的。 在对数据进行压缩的同时,还可以使用–compress-threads=#选项可以指定压缩线程的数量,加快压缩的速度,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --compress --compress-threads=</span><span class="enlighter-n1">8</span><span class="enlighter-text"> /backup</span></div> </div> </div> </div> 上例中指定了压缩数据的线程数量为8,当然,我们可以同时使用–parallel选项与 –compress-threads选项,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --parallel=</span><span class="enlighter-n1">8</span><span class="enlighter-text"> --compress --compress-threads=</span><span class="enlighter-n1">8</span><span class="enlighter-text"> /backup</span></div> </div> </div> </div> 使用上例命令进行备份时,将会有8个IO线程备份数据,并且将数据输送给8个线程进行压缩。 没错,备份经过压缩以后,在还原备份数据之前,则需要先进行解压操作。 进入压缩后的备份目录,可以发现,除了xtrabackup_checkpoints文件以外,其他文件都被压缩成了以”.qp”结尾的压缩文件。 之前已经说过,使用–compress选项压缩备份文件时,使用的压缩算法为”quicklz”,”quicklz”也是一个压缩库,”quicklz”官网号称自己是全世界最快的压缩库,官网如下 <span class="external-link"><a class="no-external-link" href="https://www.zsythink.net/wp-content/themes/zibll/go.php?url=aHR0cDovL3d3dy5xdWlja2x6LmNvbS8=" target="_blank"><i data-feather="external-link"></i>http://www.quicklz.com/</a></span> qpress就是quicklz的压缩软件,如果我们想要解压备份文件中以”.qp”结尾的文件,则需要安装”qpress”。 那么,我们就从quicklz官网下载qpress <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">wget http</span><span class="enlighter-c0">://www.quicklz.com/qpress-11-linux-x64.tar</span></div> </div> </div> </div> 解压后,即可得到qpress的二进制文件,将此命令路径配置到PATH环境变量或者移动到命令目录下。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-c0"># ls</span></div> </div> <div class=""> <div><span class="enlighter-text">qpress</span></div> </div> <div class=""> <div><span class="enlighter-c0"># mv qpress /usr/local/bin/</span></div> </div> </div> </div> 因为在备份时使用了–compress选项,所以经过压缩后的备份文件需要qpress进行解压。 使用qpress的-d选项进行解压操作,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">qpress -d test.</span><span class="enlighter-m3">qp</span><span class="enlighter-text"> ./</span></div> </div> </div> </div> 上例表示将test.qp压缩文件解压到当前目录中 但是备份目录中的qp压缩文件太多了,我们不可能手动的去解压每个文件,所以,可在压缩备份目录下使用如下命令,循环的解压每个文件,并且在文件解压后删除原来的压缩文件,只保留解压后的的数据文件,使用root用户执行如下命令时rm命令可添加上-f选项。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">for bf </span><span class="enlighter-k1">in</span><span class="enlighter-text"> `find . -iname </span><span class="enlighter-s0">"*\.qp"</span><span class="enlighter-text">`; </span><span class="enlighter-k1">do</span><span class="enlighter-text"> qpress -d $bf $</span><span class="enlighter-g1">(</span><span class="enlighter-text">dirname $bf</span><span class="enlighter-g1">)</span> <span class="enlighter-g0">&&</span><span class="enlighter-text"> rm $bf; done</span></div> </div> </div> </div> 除了使用上述循环的方式解压,我们还能够通过一个选项解压,–decompress选项,使用–decompress选项可以对压缩备份的目录进行解压操作,不过,即使是使用–decompress选项进行解压操作,也仍然需要安装qpress,所以,如果在压缩备份时使用了–compress选项,那么解压备份的前提就是安装了qpress。 使用示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex --decompress /backup/</span><span class="enlighter-n1">2013</span><span class="enlighter-text">-</span><span class="enlighter-n1">08</span><span class="enlighter-text">-01_11-</span><span class="enlighter-n1">24</span><span class="enlighter-text">-</span><span class="enlighter-n4">04</span><span class="enlighter-text">/</span></div> </div> </div> </div> 上例中的/backup/2013-08-01_11-24-04/目录为压缩备份目录。 使用–decompress选项时,可以配合–parallel选项,加速解压操作的进度。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex --parallel=</span><span class="enlighter-n1">4</span><span class="enlighter-text"> --decompress </span><span class="enlighter-n1">2017</span><span class="enlighter-text">-</span><span class="enlighter-n4">04</span><span class="enlighter-text">-11_11-</span><span class="enlighter-n1">50</span><span class="enlighter-text">-</span><span class="enlighter-n1">31</span><span class="enlighter-text">/</span></div> </div> </div> </div> 上述命令表示同时开启4个线程进行解压操作。 2.2的官方用户手册中有这样一句话。 This option will remove the original compressed files and leave the uncompressed ones in the same location. 也就是说,官方声称,使用–decomporess可以解压压缩文件,并且在操作完成后只保留解压过的文件,但是我在使用此选项时,原来的压缩文件在解压后并没有被删除。 虽然这些压缩文件没有被删除,但是它们并不会影响我们的”prepare”工作,而且,经过测试,在copy-back的步骤中,xtrabackup不会将这些压缩文件拷贝至mysql的数据目录中,所以,这应该不是什么大问题。 总之,如果在备份时使用了–compress选项,那么需要先解压才能进行apply-log与copy-back操作,解压时必须安装了qpress。 <h2 id="wznav_3">流备份</h2> xtrabackup支持流式备份,即将备份数据以数据流的方式输出。 使用–stream选项则可以实现流备份,xtrabackup支持两种格式的流,tar格式的流与xbstream格式的流,也就是说,–stream选项有两个可用值,tar或xbstream 两种格式的流备份我们一一总结。 <h3 id="wznav_4">tar格式流备份</h3> 使用如下命令,会将tar格式的流当做标准输出输出到屏幕上,虽然我们指定了/backup目录,但是并不能在对应目录下生成备份文件。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=tar /backup</span></div> </div> </div> </div> 所以,我们需要将上述tar格式的流进行重定向,使用如下命令进行tar格式的流备份。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=tar /backup </span><span class="enlighter-g1">></span><span class="enlighter-text"> /backup/back.</span><span class="enlighter-m3">tar</span></div> </div> </div> </div> 上述命令表示将tar格式的流数据备份到/backup/back.tar中,上述命令中–stream=tar后面的路径不可省,但是其路径可以是任意路径,与备份的tar包所在的路径没有任何关系,但是此路径不能省略,省略后报如下错误。 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2017/04/041117_0953_2.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2017/04/041117_0953_2.png" style=""> 注意:官方文档中声明,在解压tar格式的流备份时,需要使用tar命令的-i选项,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">tar -ixvf /backup/back.</span><span class="enlighter-m3">tar</span></div> </div> </div> </div> 我们也可以在生成流备份文件时,进行压缩,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=tar /backup </span><span class="enlighter-g0">|</span><span class="enlighter-text"> gzip </span><span class="enlighter-g1">></span><span class="enlighter-text"> /backup/fullback.</span><span class="enlighter-m3">tar</span><span class="enlighter-text">.</span><span class="enlighter-m3">gz</span></div> </div> </div> </div> 上例表示将tar格式的留备份进行gzip压缩,没错,你可以将gzip换成其他常用的压缩软件进行压缩。 使用上述命令已经体现出了流备份的优点,我们不用先生成备份,再通特定的压缩软件对备份进行压缩,一步就完成了备份归档压缩的步骤。 同理,解压上述/backup/fullback.tar.gz文件时需要使用tar命令的-i选项。 我们也可以通过流备份将数据直接备份到远程主机,不占用本机的磁盘空间,示例命令如下。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=tar /tmp </span><span class="enlighter-g0">|</span><span class="enlighter-text"> ssh root@</span><span class="enlighter-n0">192.168</span><span class="enlighter-text">.</span><span class="enlighter-m3">1</span><span class="enlighter-text">.</span><span class="enlighter-m3">120</span><span class="enlighter-text"> \ </span><span class="enlighter-s0">"cat - > /backup/bak.tar"</span></div> </div> </div> </div> 上述命令表示将备份流直接备份到远程主机192.168.1.120上。 注意:将流备份备份到远程主机有一个前提条件,就是存储备份的目标主机需要对当前主机ssh信任,也就是说,本机通过ssh连接到远程目标主机时,不需要输入对应的密码,否则在使用上述命令进行备份时,备份操作会一直执行在如下图中的操作,导致无法备份成功。 <img class="lazyload" src="https://www.zsythink.net/wp-content/themes/zibll/img/thumbnail-lg.svg" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2017/04/041117_0953_3.png" style=""> 所以,在执行远程备份命令之前,我们要先生成当前主机的公钥,并让远程主机对当前主机信任。 ssh-keygen ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.120 确定无误后,执行如下命令即可实现将流备份直接备份到远程主机。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=tar /tmp </span><span class="enlighter-g0">|</span><span class="enlighter-text"> ssh root@</span><span class="enlighter-n0">192.168</span><span class="enlighter-text">.</span><span class="enlighter-m3">1</span><span class="enlighter-text">.</span><span class="enlighter-m3">120</span><span class="enlighter-text"> \ </span><span class="enlighter-s0">"cat - > /backup/bak.tar"</span></div> </div> </div> </div> 当然,我们也可以在流备份到远程主机时对备份进行压缩,示例命令如下。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=tar /tmp </span><span class="enlighter-g0">|</span><span class="enlighter-text"> ssh root@</span><span class="enlighter-n0">192.168</span><span class="enlighter-text">.</span><span class="enlighter-m3">1</span><span class="enlighter-text">.</span><span class="enlighter-m3">120</span><span class="enlighter-text"> \ </span><span class="enlighter-s0">"gzip > /backup/dateFullBak.tar.gz"</span><span class="enlighter-text">;</span></div> </div> </div> </div> <h3 id="wznav_5">xbstream格式流备份</h3> 有了之前tar格式流备份的基础以后,再看xbstream备份就容易许多,我们只要将之前–stream选项的流格式设置为xbstream即可,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=xbstream ./ </span><span class="enlighter-g1">></span><span class="enlighter-text"> /backup/fullbak.</span><span class="enlighter-m3">xbstream</span></div> </div> </div> </div> 我们将xbstream格式的数据流重定向到了/backup/fullbak.xbstream文件中。 xbstream流备份也可以在备份时直接进行压缩,只不过,xbstream格式的流是使用–compress选项进行压缩,–compress选项上文已经总结过,此处不再赘述 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=xbstream --compress ./ </span><span class="enlighter-g1">></span><span class="enlighter-text"> /backup/fullbak.</span><span class="enlighter-m3">xbstream</span></div> </div> </div> </div> xbstream格式的流备份文件已经生成,那么当我们需要通过这些备份文件恢复数据时,我们该怎样将这些xbstream格式的流备份释放呢? 我们需要使用xbstream命令释放xbstream格式的流备份文件,在安装xtrabackup时就已经安装了xbstream命令,使用示例如下。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">xbstream -x </span><span class="enlighter-g1"><</span><span class="enlighter-text"> bakup.</span><span class="enlighter-m3">xbstream</span></div> </div> </div> </div> 上述命令表示将当前目录中的bakup.xbstream备份文件通过xbstream命令进行释放,-x选项表示释放xbstream流备份文件到当前目录,如果想要释放xbstream流备份文件到指定的目录,可以使用-C选项,示例如下 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">xbstream -x -C /backup/zsythink/ </span><span class="enlighter-g1"><</span><span class="enlighter-text"> fullbak.</span><span class="enlighter-m3">xbstream</span></div> </div> </div> </div> 上述命令表示将当前目录中的fullbak.xbstream流备份文件释放到/backup/zsythink/目录中。 如果在生成xbstream格式的流备份时使用了–compress选项进行了压缩,那么释放后的xbstream流备份为qpress格式的压缩文件,还需要使用qpress进行解压,具体方法在上文中已经描述过,此处不再赘述。 我们也可以将xbstream流直接备份到远程主机上,示例如下。 <div class="enlighter-default enlighter-v-standard enlighter-t-enlighter enlighter-hover enlighter-overflow-scroll"> <div class="enlighter-toolbar"> <div class="enlighter-btn enlighter-btn-raw"></div> <div class="enlighter-btn enlighter-btn-copy"></div> <div class="enlighter-btn enlighter-btn-window"></div> </div> <div class="enlighter"> <div class=""> <div><span class="enlighter-text">innobackupex -p123123 --stream=xbstream --compress /tmp </span><span class="enlighter-g0">|</span><span class="enlighter-text"> ssh root@</span><span class="enlighter-n0">192.168</span><span class="enlighter-text">.</span><span class="enlighter-m3">1</span><span class="enlighter-text">.</span><span class="enlighter-m3">120</span> <span class="enlighter-s0">"xbstream -x -C /backup/datafull"</span></div> </div> </div> </div> 注意,上述命令表示将xbstream流直接备份到 192.168.1.120 中,远程主机对应的备份路径必须存在,否则备份时可能会出现如下错误 <img class=" lazyloaded" src="https://www.zsythink.net/wp-content/uploads/2017/04/041117_0953_4.png" alt="" data-src="https://www.zsythink.net/wp-content/uploads/2017/04/041117_0953_4.png" style=""> 注意:将流备份备份到远程主机有一个前提条件,就是存储备份的目标主机需要对当前主机ssh信任,也就是说,本机通过ssh连接到远程目标主机时,不需要输入对应的密码,否则在使用上述命令进行备份时,备份操作会一直执行在如下图中的操作,导致无法备份成功。 上述注意点在tar格式的流备份总结中已经提到过,实现信任的步骤是相同的,此处不再赘述。 关于xtrabackup的相关总结暂时就到这里,希望这几篇文章能对你有所帮助。 转载自朱双印日志https://www.zsythink.net/archives/1484 Last modification:May 29, 2024 © Allow specification reprint Like 如果觉得我的文章对你有用,请随意赞赏