在docker中使用mysqldump命令备份异地数据库

在A服务器要对B服务器的mysql数据库进行异地备份,A主机中是在docker中安装的mysql,可以在A服务器中使用以下命令对B数据库的数据进行备份;B服务器的IP为111.222.33.44,端口为3306,密码为12345678,备份的库为crmeb,保存到A服务器的路径为/data/backup/wl111.sql.gz

docker exec  mysql mysqldump -h 111.222.33.44 -P 3306  -u root -p12345678   crmeb|gzip > /data/backup/wl111.sql.gz

注意事项:

docker exec -it 【容器名】mysqldump   

-p12345678   -p后面直接接密码,不要加空格,不要加空格

如果A服务器中mysql直接安装在宿主机,就不需要输入前面的docker exec  mysql ,直接使用mysqldump   

-P大小的P表示数据库端口,小写的p代表数据库密码

---------------------------------------------------------------------------------------------------------------------------------

也可以在A服务器下/data/目录下创建backup.sh

DB_USER="root"
DB_PASSWORD="12345678"
DB_NAME="crmeb"
DB_HOST="111.222.33.44"
DB_PORT="3306"
BACKUP_DIR="/data/backup/wl"

# 创建备份目录
mkdir -p $BACKUP_DIR

# 执行备份并压缩  注意P大小写   小写p密码   大写P端口
docker exec  mysql mysqldump -h $DB_HOST -P $DB_PORT  -u $DB_USER -p$DB_PASSWORD   $DB_NAME|gzip > $BACKUP_DIR/${DB_NAME}_$(date +%Y%m%d%H%M%S).sql.gz

# 输出备份完成的信息
echo "Backup completed: $(date)"
    

再在终端下输入命令,创建linux定时任务

crontab -e

再输入

*/5 * * * * /data/backup.sh

现在就在linux下创建了定时任务,每5分钟执行一次/data/backup.sh 

============================在B服务器下进行本地数据库备份===================

DB_USER="root"
DB_PASSWORD="12345678"
DB_NAME="crmeb"
BACKUP_DIR="/data/backup/wl"
 
# 创建备份目录
mkdir -p $BACKUP_DIR
 
# 执行备份并压缩
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME | gzip > $BACKUP_DIR/${DB_NAME}_$(date +%Y%m%d%H%M%S).sql.gz
 
# 输出备份完成的信息
echo "Backup completed: $(date)"

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值