我想在具有许多 InnoDB 表和 MyISAM 表的数据库上开始复制。我按照手册Creating a Data Snapshot Using Raw Data Files做了所有事情。
首先,我尝试在没有ib_logfile和ibdata的情况下复制所有带有中继日志等的表文件。复制不起作用,它找不到 InnoDB 表,之后我尝试对ib_logfile和ibdata做同样的事情,它失败并出现错误消息Error 'Unknown table engine 'InnoDB'' on opening tables。
当我试图从原始服务器复制 my.cnf 时,mysql 根本无法启动(版本 5.1.41)。
我不确定是否可以使用原始数据和 InnoDb 文件开始复制。拜托,如果你有经验,请与我分享。我该如何处理。
谢谢!
当你得到'Unknown table engine INNODB'时,这意味着启动错误。如果您查看错误日志,您应该能够获得更多信息。
我的第一直觉是您的 ib_logfile 在您的主服务器上的大小与从服务器中配置的大小不同。如果您停止从服务器,在设置从服务器时从快照中删除 ib_logfile,然后重新启动 mysql,它应该会自行纠正。
注意:不要删除 ibdata 文件!只有 ib_logfiles
尝试使用 rysnc,而不是使用 tar 方法。
我写过关于如何使用 rsync 以最少的停机时间运行服务器的文章。
只要确保