【发布时间】:2016-12-22 20:22:27
【问题描述】:
我目前正在使用带有 innodb 存储引擎的 mysql server 5.0。我想从源服务器备份数据库并将其还原到可用的目标服务器之一。
选项 1:在我的 .cnf 中使用 innodb_file_per_table 选项并尝试将 table.ibd 文件复制到其他服务器并恢复。我在其他网站上看到了 mysql 5.6 支持它的示例,但我不确定 mysql server 5.0 是否支持它。我尝试了https://dev.mysql.com/doc/refman/5.6/en/innodb-migration.html 中给出的步骤,但这对我不起作用。
选项 2:使用 mysqldump 获取数据库的转储,并在目标中使用 mysqlimport 执行 mysql 导出/导入。但是,通过这样做,我需要在执行导出之前锁定源数据库。这可以防止在 mysqldump 正在进行时对源数据库的任何传入请求。
我仍在探索其他选项,但我不确定选项 1 是否由于 mysql 版本 5.0 或我遗漏了什么而不可行。
【问题讨论】:
-
不要不要尝试获取 .ibd 文件!您可以获取整个目录树。
-
当然,但我想澄清一下选项 1(复制 Ibd 文件并恢复单个数据库)是否仍然是 mysql 5.0 的选项?
-
5.6 引入了“可传输表空间;5.0 没有。(5.7 改进了界面。)升级!