【mysql】关于跨服务器间的数据拷贝

按目前的情况,mysql是不支持跨服务器间的数据拷贝的,也就是不能使用类似insert into db1.xx select * from db2.xx的语句。

可以想到的主要有两种方法:

(1)先通过mysqdump将需要的数据导到sql文件中,再通过mysql -uxxx -p -hxxx.xxx.x.xxx db2 < xx.sql的方式导入到数据库中。

(2)自己写个脚本,先通过使用指向源表cursor将数据select出来放到缓存,再通过指向目标表的cursor将该数据insert到目标表中;不过这种方法一般用于数据量较小的场景。


另外,如果数据量很大,我认为可以先直接将MYI,MYD,FRM文件直接scp到目标服务器的mysql对应的目录下。然后等mysql自动检查和修复数据后,就可以直接使用insert..select的方式来导数据了。

你可能感兴趣的:(【mysql】关于跨服务器间的数据拷贝)