我一直在做一个涉及Mysql和PHP的项目。在创建测试包时,我已将 mysql 数据库从 MySql Workbench 导出为 sql 文件,并使用
导入到 Linux 机器的 mysql 服务器中mysql>source mydatabase.sql;
这是导出和导入mysql数据库的正确方法吗?数据库文件还包含创建模式、插入数据和创建索引脚本。导入此文件需要很长时间。我的直接经理建议我不带索引导出并导入数据库,然后执行索引创建脚本。这是正确的方法吗?导入数据库时索引是否需要很长时间?
提前致谢!
最佳答案
Percona Server附带修改后的 mysqldump 工具,因此您可以选择 --innodb-optimize-keys选项。这会像 stock mysqldump 一样导出表、数据和索引定义,但在导入期间,它会推迟二级索引的创建,直到数据加载到表中之后。这利用了 InnoDB 的 fast index creation功能。
另一种选择是使用物理备份工具,例如 Percona XtraBackup (正如用户@Up_One)提到的。这意味着备份完整的数据文件,包括索引。恢复时,不需要重建任何内容,因为索引已经填充。使用物理备份工具也有优点和缺点,但恢复时间是一个很大的优势。
关于mysql - 导出和导入 mysql 数据库的最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672498/