我们需要将架构(大约70GB)从Windows服务器上的MySql社区版本复制和转储到另一台计算机上。对我们而言,执行mysqldump
并不理想,因为这是生产服务器,并且dump
会降低它的速度。
因此,我们考虑将数据文件复制到新计算机上,然后简单地启动MySql。但...
某些实际数据显然在ibdata1
文件中,并且其数据在ibdata1
中的表会生成Table doesn't exist in engine
错误。
因此我们认为也将ibdata1
复制到新计算机上。我们做到了。现在,新机器上的MySql无法启动。
我们尝试删除ib_logfile0
和ib_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
子句来按块处理备份,以避免生产变慢
对不起我的英语不好