如何从测试环境的docker中的mysql下载数据到本地windows中

运用场景:测试系统数据变化比较复杂,较难定位是哪一个操作影响的问题,同时测试系统有一台跳板机

目前能想到的方案有两种:
1、开启远程调试
即:开启远程调试模式,测试系统的操作可以进入本地的idea里面的断点进行一步步的debug,
远程调试需要配置一些东西,有些同事经常用这种方式,我没试过这种,所以下次再尝试这种
2、拷贝数据库数据到本地环境重现
1、准备工具 Xshell、Xftp
2、进入测试系统,测试系统有跳板机,不能直接进入,也就是说需要进入A机器,然后再SSH 到B机器,B机器才是真的我们存储和操作数据的机器(如果测试系统只有一台机器,那就更简单了。如果测试系统没有用docker,那就直接scp,或者直接用navicate连接,完全不用考虑ftp文件传输这种伤身的方式)
所以数据移动式从B机器的docker的mysql导出数据到根目录,然后再移动到A机器,剩下的scp就简单了

详细步骤
1、进入B机器 docker exec -it mysql bash
2、mysqldump -u用户名 -p密码 –default-character-set=utf8 –hex-blob –databases testdb> /testdb.sql
3、dump操作会把数据文件导出到根目录 cd / 既可以查看到
4、exit 推出mysql,然后docker cp mysql:/testdb.sql . 注意最后面那个点不能漏掉,表示当前目录
5 推出B机器,回到A机器,输入B机器+文件位置,记住后面的.不能漏掉
scp 用户名@B地址:/目录/目录/test.sql .
6、接着在Xshell中点击新建文件传输,直接用Xftp把A机器的文件拷贝到本地

附上时序图方便理解

Created with Raphaël 2.1.0 罗星星的windows 罗星星的windows A机器(跳板机) A机器(跳板机) B机器(测试环境、docker的宿主机) B机器(测试环境、docker的宿主机) docker中mysql实例 docker中mysql实例 Xshell中用户输入A机器的账号、密码 发送账号、密码 验证账号、密码 登陆成功 Xshell中用户输入B机器的账号、密码 验证用户名、密码 验证账号、密码 验证成功 docker exec -it mysql bash dump数据文件 docker cp mysql:/testdb.sql . scp B机器地址和文件位置 Xftp工具将A机器中的文件拷贝到win end
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值