红联Linux门户
Linux帮助

两个远程数据库之间get数据

发布时间:2016-03-23 15:45:12来源:linux网站作者:KvApril

今天要求项目中一个表添加数据,在另一个服务器上的库里是有数据的,两个表结构是相同的。用的是mysql数据库。所以怎么把另一个数据表的数据给搞过来呢?


以下操作解决了问题:


如果在同一个网段:

1.dump远程服务器表上需要的表数据:

mysqldump -uroot -p123456 -h121.41.137.56 database_name table_name > table_name.sql


2.在当前服务器(本地)上会出现一个table_name.sql的文件


3.进入当前服务器(本地)mysql:

mysql -uroot -p123456
>use database_name;
>source /xx/xx/table_name.sql;


不在一个网段:


我的环境状况有个跳板机可以连接远程的那个服务器,过程如下:
1.在目标远程服务器上dump一个表的数据:

mysqldump -uroot -p123456  database_name table_name > table_name.sql


2.在跳板机上通过sftp或者scp将远程服务器上的table_name.sql download下来
通过sftp get获取
命令:sftp root@目标服务器ip

cd /xx/xx/ (table_name.sql所在目录)
get table_name.sql

通过scp (需要安装ssh,在目标服务器上)

scp /xx/xx/query.sql  root@跳板机ip:~/  (将table_name.sql copy到跳板机的~/目录下)


3.在当前服务器(本地)
sftp获取跳板机上的table_name.sql
命令:sftp root@跳板机ip

cd /xx/xx/ (table_name.sql所在目录)
get table_name.sql


4.在当前服务器(本地)上会出现一个table_name.sql的文件


5.进入当前服务器(本地)mysql:

mysql -uroot -p123456

use database_name;
source /xx/xx/table_name.sql;


本文永久更新地址:http://www.linuxdiyf.com/linux/19190.html