我们需要将架构(大约70GB)从Windows服务器上的MySql社区版本复制和转储到另一台计算机上。对我们而言,执行mysqldump并不理想,因为这是生产服务器,并且dump会降低它的速度。

因此,我们考虑将数据文件复制到新计算机上,然后简单地启动MySql。但...

某些实际数据显然在ibdata1文件中,并且其数据在ibdata1中的表会生成Table doesn't exist in engine错误。

因此我们认为也将ibdata1复制到新计算机上。我们做到了。现在,新机器上的MySql无法启动。

我们尝试删除ib_logfile0ib_logfile1并启动该服务,但是仍然没有运气。它没有开始。

任何想法如何解决这个问题?

最佳答案

这对您的情况很有用:

https://www.percona.com/doc/percona-xtrabackup/2.4/index.html

Percona XtraBackup是适用于MySQL的基于服务器的开源热备份实用程序,在备份过程中不会锁定数据库。

更新:
我花了很多时间(前一段时间)尝试像您一样的方法,甚至在第二台服务器上看到带有“ SHOW TABLES”的my_table,但是当我执行查询SELECT * FROM my_table时遇到错误。 ERROR 1146 (42S02): Table my_table doesn't exist(这让我发疯了)。看到我的旧问题:strange results when manually database copy to another server

我现在想到的另一个想法是使用cron作业和mysqldump使用WHERE子句来按块处理备份,以避免生产变慢

对不起我的英语不好

07-24 18:57