mysql数据库跨服务器间复制与迁移

发布时间:2020-03-26 16:04

最近在试用一台新的web服务器,系统是Ubuntu的,昨天经过一阵子的apt-getdist-upgrade,apt-getupdate以及apt-getinstall的一些命令的折腾,基本上把一整套web环境都配置好了,今天在考虑mysql数据库迁移的时候,碰到一个小问题。数据库备份的sql文件达到了600多M,即使将其压缩成tgz的文件,也达到了200多M,如何高效地将这些mysql数据迁移走?

1,自己首先想到的是数据导入导出。先在原服务器上采用mysqldump命令进行导出,导出后进行tgz压缩,然后到本地,接着上传到新的服务器,然后解压文件,采用mysql命令将sql文件导入,如果更快一点的话,就是将导出的数据压缩包文件在服务器间直接进行传输,使用get命令直接获取。

2,其次,我在网上进行了一番搜索。发现基本上都是服务器间数据库复制的一些配置与操作,主要是进行mysql主从数据库的一些设置,这些解决办法不是我现在需要的,以后进行数据库读写分离,分布式数据库架构配置的时候能用到,所以就跳过了,另寻办法。

3,最后。我想到了一个更好的办法,直接采用如下命令进行导出并传输:

mysqldump-hhost-uuser-pdbname>bak.sql

host即原服务器的ip地址,这里有一个前提,就是要将原服务器的mysql设置成远程可连接,这个设置在网上很容易找到,我就不在此进行说明了。实践了一下,速度还是可以的,从长沙服务器传输数据到上海服务器,采用该命令,600多M的sql文件,只用了两三分钟就导出完成了,然后直接采用:

mysql-uuser-p dbname

命令进行导入,很快就实现了跨服务器间的mysql数据迁移。

总结一下,碰到问题,对问题先作一番分析,进行一下预演,找出最好的解决办法,然后进行实施,做到事半功倍。