一、业务需求,本地数据库导入线上数据库真实数据。
正常本地环境是没有权限访问线上数据库,需要ssh登录到某台有权限的服务器,然后执行mysqldump生成某个文件,
然后本地下载该文件,然后导入本地数据库,这一系列操作太麻烦,我把他集成到一个脚本,只需要传人表名,可以一键导入数据库
#!/bin/bash #创建导出sql的文件 filename="habibi_"$(date "+%m-%d-%H-%M")".sql" echo $filename #登录远程服务器,mysqldump出数据生成filename文件 ssh wn-xxx "cd ~ && mysqldump -h hostanme -u user -ppassword databases $1 > $filename" #利用scp下载远程服务器文件到本地 scp ec2-user@xxx:/home/ec2-user/$filename ./ #本地mysql服务器倒入filename文件 mysql -h 127.0.0.1 -u root -P 3306 -p123456 habibi < ~/habibi/$filename
ssh wn-xxx可能大家会点困昏,可以百度下ssh无密码登录查找下相关文档