1. 场景描述
记录一次运维,朋友公司要从线上环境同步数据到测试环境,因为公司监管问题,导致数据无法从线上获取,需要通过,堡垒机,3次跳转到目标主机,通过命令导出mysql数据文件,然后再将数据导入到测试环境,不复杂,稍微走了一点弯路,记录下,希望能帮到碰到同样问题的朋友,不谢!
2.解决方案
1. 连接目标服务器
1. cccc-cluster
2. ssh [email protected] / 密钥登陆
3. ssh [email protected] -p 29
4. sudo -u laowang ssh 192.168.1.13
2. 导出mysql数据库数据文件
[root@ruanjianlaowang ~]# ps -ef|grep mysql
#进入mysql命令目录
[root@ruanjianlaowang ~]# cd /usr/local/mysql/bin
#导出mysql指定数据库文件
[root@ruanjianlaowang ~]# ./mysqldump -uroot -proot_123 laowangdb > /home/laowang/laowangdb.sql
(mysqldump -u数据库链接用户名 -p密码 目标数据库 > 存储的文件名)
#查看下是否导出成功
[root@ruanjianlaowang ~]# cd /home/laowang/
[root@ruanjianlaowang ~]# ls -ll
3.导出文件到本地
(1)导出到本地还是有点麻烦的,因为是几次跳转,ftp工具直连就不用想了,本来想通过scp多次传输的,在网上查了下有工具,省心不少。
(2)使用的首先SecureCRT连接的服务器,网上说可以使用sz命令直接导出,但是是在别人服务器上,抱着试一试的侥幸形态,sz了一下,哇,可以直接导出。
(3)假如服务器没有安装了rz,sz,yum install lrzsz安装一下就可以。
[root@ruanjianlaowang ~]#yum install lrzsz
(4) 运行rz,会将windows的文件传到linux服务器
运行sz filename,会将文件下载到windows本地
[root@ruanjianlaowang ~]#cd /home/laowang/
[root@ruanjianlaowang ~]#sz laowangdb.sql
(5)默认的下载路径再:
就可以拿到导出的sql文件了。
4.数据导入到测试库
工具用的navicat for mysql,导入的前两次导入失败,网上找了下,第二个对勾去掉就导入成功了(软件老王)。
5.简单总结
总体说运维时间不长,2个小时左右,走了一些弯路,不多。
(1)直接从服务器通过命令导出,以前用的比较少,mysql以前通过navicat直连直接就操作
这次使用mysqldump命令;
mysqldump -u数据库链接用户名 -p密码 目标数据库 > 存储的文件名-软件老王
(2)从跳转3次的服务器上下载文件,本来想着使用scp,以前没使用过sz,费了一点时间
(3)导入的时候,数据量不小,导入了2次都失败,才看了下需要去掉对勾;
整体来说,主要是牵扯到,堡垒机,几次跳转的稍微麻烦了点,不复杂。
I’m 「软件老王」,如果觉得还可以的话,关注下呗,后续更新秒知!欢迎讨论区、同名公众号留言交流!