今天要求项目中一个表添加数据,在另一个服务器上的库里是有数据的,两个表结构是相同的。用的是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;