MySQL 32位数据库可以导入/复制到64位MySQL吗?

问题描述:

我有一个数据库在一个32位Linux服务器与MySQL,我想导入/复制/迁移到64位Linux服务器。MySQL 32位数据库可以导入/复制到64位MySQL吗?

我已经考虑

service mysqld stop 
tar czf /root/db.tar.gz /var/lib/mysql 

并将其复制到新的服务器。

或许

mysqldump -uroot -p --all-databases > /root/db.sql 

问题

这是可能的,如果是这样,有什么建议呢?

+2

复制所有文件几乎肯定不会工作。第二种选择当然会(在两个服务器上都有正确的选项),尽管可能需要很长时间。你最好的选择可能是一个专门构建的备份工具。你使用什么数据库引擎? – 2012-02-08 14:43:49

+0

我明白了。我正在使用InnoDB。 – 2012-02-08 15:00:37

+0

InnoDB的数据文件格式与平台无关,并且如果您从源中正确复制数据并将其放入正确的位置,且目标位置具有正确的权限,则不存在任何问题。 – 2012-02-08 17:34:45

使用mysqldump并重新导入生成的文件将有一定的作用,并且推荐使用,除非您的数据库非常大并且转储/导入进程的速度较慢是个问题。

除非服务器环境在大多数情况下是相同的,否则如果要直接复制数据文件,则可能需要执行一些清理和权限更正。 There is documentation关于使用原始数据文件执行传输,但mysqldump是通常的首选方法。

+0

通过将数据从磁盘格式转换为SQL,然后将其转换回磁盘格式,转储和重新加载实际上更可能导致某种问题。 – 2012-02-08 17:35:54

如果您有一个庞大的数据库,我建议使用XtraBackup。这可能比使用mysqldump后跟导入要快得多。