linux将mysql导出表数据导入另一台服务器_Linux-定时脚本将一台服务器上的mysql数据库自动备份到另一台服务器的数据库中...

本文介绍如何设置Linux定时脚本,实现从一台服务器(A)导出MySQL数据库,并自动将备份文件传输到另一台服务器(B),以增强数据库容灾性和防止测试错误。主要涉及mysqldump、scp、expect以及在目标服务器上恢复数据库的步骤。同时,文章提到了版本兼容性、超时问题和配置文件调整。
摘要由CSDN通过智能技术生成

有两台服务器,一台正式服务器A,一台测试服务器B,现需要将正式服务器A中的数据库每天备份到测试服务器B,提高数据库的容灾性以及防止数据库在测试中出现错误。

1.从正式服务器A中导出需要备份的数据库

使用mysqldump指令导出数据库文件/usr/sbin/mysqldump -u root -ppassword database | gzip > bakdatabaseName.sql.gzpassword为数据库密码,database为需要备份的数据库名

2.将备份的数据库文件发送至测试服务器B

使用scp指令发送备份的数据库文件scp bakdatabaseName.sql.gz root@测试服务器B的IP:/root/mysqlbak/bakdatabaseName.sql.gz

该操作需要输入测试服务器B的密码,所以通过另外一个expect脚本实现与终端的交互从而实现自动输入密码,expect需要安装。

3.通过expect脚本实现运行scp指令后自动输入密码#!/usr/bin/expect

#FileName:scp.exp

set timeout 60

if { [llength $argv] < 2} {

puts "Usage:"

puts "$argv0 local_file remote_path"

exit 1

}

set local_file [lindex $argv 0]

set remote_path [lindex $argv 1]

set passwd yourpassword

set passwderror 0

spawn scp $local_file $remote_pa

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值