1)ssh远程执行本地脚本,即让远程主机执行本机脚本命令内容。
1 [root@localhost ~]#cat remtescript.txt
2 cd db_soft/
3 tar -xf mysql-5.7.17.tar.gz
4 yum -y install net-tools perl-JSON
5 [root@localhost ~]# ssh -l root 192.168.4.52 < remtescript.txt
6 或
7 [root@localhost ~]# ssh root@192.168.4.52 < remtescript.txt
2)远程备份数据库
[root@localhost ~] # innobackup --defaut-file=/etc/my.cnf --user=root --host=127.0.0.1 --password=root --no-timestamp \
--stream=tar ./ | ssh root@192.168.4.52 "cat - > /usr/local/xtrbbackup/full/full.tar "
注:innobackup命令选项说明:
innobackup命令选项说明:
--defaults-file
同xtrabackup的--defaults-file参数,指定mysql配置文件;
--apply-log
对xtrabackup的--prepare参数的封装;
--copy-back
做数据恢复时将备份数据文件拷贝到MySQL服务器的datadir,需先清空原有mysql的数据目录;
--stream=[tar | xbstream]
备份文件输出格式, tar时使用tar4ibd , 该文件可在XtarBackup binary文件中获得.
如果备份时有指定--stream=tar, 则tar4ibd文件所处目录一定要在$PATH中(因为使用的是tar4ibd去压缩, 在XtraBackup的binary包中可获得该文件)。
注意:关于--stream说明:
Percona XtraBackup支持流式备份,将备份以指定的tar或xbstream格式发送到STDOUT,而不是直接将文件复制到备份目录。
这允许您使用其他程序来过滤备份的输出,为备份的存储提供更大的灵活性。例如,压缩是通过将输出管道输送到压缩实用程序来实现的。流式备份和使用Unix管道的优点之一:备份可以被自动加密。
使用流式备份,您需要使用--stream参数,指定流式备份格式(tar或xbstream)以及存储临时文件的绝对路径:
# innobackupex --stream=tar /tmp
innobackupex在子进程中启动xtrabackup --log-stream模式,并将其日志重定向到临时文件。然后,使用xbstream将所有数据文件以xbstream格式传输到STDOUT。在将所有的数据文件流到STDOUT之后,停止xtrabackup,并将保存的日志文件进行备份。
xtrabackup在压缩过程中,将使用指定的压缩算法,压缩所有输出数据,除了元数据和非innodb文件。目前仅仅支持quicklz算法。结果文件是qpress压缩格式,即每个*.qp,xtrabackup生成的qp文件本质上是一个单文件的qpress压缩文件,可以从Percona软件存储库中获得qpress压缩文件的提取和解压方式。
使用xbstream作流式备份选项,可以并行复制和压缩备份,从而大大加快备份过程。如果备份是压缩和加密,首先需要解密,以便不被压缩。
--redo-only --apply-log组,
强制备份日志时只redo ,跳过rollback。这在做增量备份时非常必要,增量备份需要使用该命令。
--databases=LIST
列出需要备份的databases,如果没有指定该参数,所有包含MyISAM和InnoDB表的database都会被备份;
--slave-info,
备份从库, 加上--slave-info备份目录下会多生成一个xtrabackup_slave_info 文件, 这里会保存主日志文件以及偏移, 文件内容类似于:CHANGE MASTER TO MASTER_LOG_FILE='', MASTER_LOG_POS=0
--socket=SOCKET
指定mysql.sock所在位置,以便备份进程登录mysql.
注意:正因为 --stream=tar 选项 ,将备份以指定的tar或xbstream格式发送到STDOUT 所以可以使用ssh和管道保存远端。