我有一个巨大的MySQL数据库,说15G的大小。 现在我想把数据库移动到另一个mysql服务器上,通常的方法是导出mysql文件,然后将这个文件导入到目标服务器。 但是我发现这个过程非常缓慢,错误发生了。 任何更好的方法来做到这一点? 请告诉我 。 谢谢 。
您可以将底层数据库文件复制到新服务器。 例如,如果你的数据库文件在/ var / lib / mysql中。 然后
tar -zcvf ~/database.tar.gz /var/lib/mysql/<database-name> # compress the data
然后将压缩文件复制到新服务器的mysql数据库位置。 这会更快,你不需要使用mysqldump。
我可以考虑将数据库迁移到新硬件的两个选项,并且停机时间最短。
1:使用复制:build立复制到新机器,然后将机器传播到主机并closures旧数据库。 我没有用mysql做这个,所以我不确定 – 可能有一些问题,但它对PostgreSQL完美的工作。
2:使用基于文件系统的rsync复制:
rsync -rav /var/lib/mysql/ newmachine:/var/lib/mysql/ 。 这将需要很长时间,但在第一次rsync期间不需要closuresmysql。 但是:如果你的机器有不同的操作系统,体系结构或mysql版本,你可能会遇到一些问题。 例如,我确定无法为PostgreSQL从32位到64位主机执行基于文件系统的副本。 AFAIR mysql允许这个,但你仍然可以有其他一些问题。