dolphinscheduler节点任务备份至别的节点上(docker迁移MySQL数据库)

现象描述:正在使用的集群描述四个节点一个master节点,三个worker节点,数据库存在MySQL5.7上,安装在docker容器中(集群1);
                  现在需要使用的节点三个节点,配置两个master节点,三个worker节点,其中数据库存在MySQL8.0上,MySQL安装在docker容器中并且做了MySQL的双主监听(集群2);
需求:需要在不停机的情况下将正在使用的集群1上任务迁移到集群2上并且可以使用相当于对集群的任务做了一个高可用的任务备份;

操作如下:使用MySQLdump将数据库导出备份

 如果没用MySQLdump需要进行下载下载的流程如下
1、下载依赖  

https://downloads.mysql.com/archives/community/

2、下载内容  

 mysql-community-common-8.0.19-1.el7.x86_64.rpm
 mysql-community-libs-8.0.19-1.el7.x86_64.rpm
 mysql-community-client-8.0.19-1.el7.x86_64.rpm

 3、上传到服务器(CentOS7)
 4、检索mysql历史版本          rpm -qa | grep mysql
   如果存在mysql服务,可以直接使用mysqldump
5、卸载历史版本  

 rpm -e mysql.....

   6、安装          

 rpm -ivh *.rpm

7、或逐个安装     

rpm -ivh mysql-community-common-8.0.19-1.el7.x86_64.rpm mysql-community-libs-8.0.19-1.el7.x86_64.rpm mysql-community-client-8.0.19-1.el7.x86_64.rpm

8、验证

 mysqldump

提示如下安装成功

Usage: mysqldump [OPTIONS] database [tables]
OR     mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...]
OR     mysqldump [OPTIONS] --all-databases [OPTIONS]
For more options, use mysqldump --help

(1)备份:从数据库导出数据:

     格式:mysqldump -h链接ip -P(大写)端口 -u用户名 -p密码数据库名>d:XX.sql(路径)

示例:mysqldump -h132.72.192.432 -P3307 -uroot -p8888 htgl > bak.sql;

 如果执行不成功可以试一下这个命令

MySQLdump -h132.72.192.432 -uroot -pAvary88! --databases dolphinscheduler --single-transaction --flush-logs --master-data=2 > databases20231228.sql

   -hip远程连接  
    -u用户名 -p密码 
    --databases需要备份的数据库 
    --single-transaction 备份期间使用事物来确保一致性
    --flush-logs 备份完成后刷新二进制日志文件
    --master-data=2 在备份文件中包涵主次主从信息,这将生成一个带有CHANGE MASTER TO 语句的备份可用于恢复主从关系
    > databases20231228.sql将指定的备份输出到名为databases20231028.sql的文件中
    
 执行文件后显示错误:
 mysqldump: Error:Binlogging on server not active(服务器上的 Binlogging 未激活)
     
 解决方式:

sudo vim /etc/my.cnf

在[MySQLd]标签下添加

     log-bin=mysql-bin
     server-id=1

保存退出后,重启服务

systemctl restart mysqld 

==========================================================
     执行命令(集群1)

查看容器名进入docker容器中

docker ps -a

docker exec -it 容器名字 bash


将所需要迁移的机台的任务的dump.sql dump出来

  mysqldump -uroot -p密码 dolphinscheduler(迁移的数据库) > /home/mysql/dump.sql

退出docker容器 exit
将刚才dump处的.sql保存在本地系统

 docker cp mysql:/home/mysql/dump.sql  ./

将保存在本地的dump.sql发送到集群2

scp dump.sql root@ip:/home/

============================================================
在将本地的dump.sql 发送到容器中

在执行命令将dump.sql到入到MySQL中

mysql -uroot -p123456 数据库 <dump.sql

任务导入完毕,可进IU界面查看详情,更改用户IP测试即可,注意集群之间的DNS互通。

  • 21
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值