加速mysql转储和导入

dea*_*mer 51 mysql backup restore

是否有任何加速mySQL转储和导入的文档化技术?

这将包括my.cnf设置,使用ramdisks等.

仅查看记录的技术,最好使用基准显示潜在的加速.

JBB*_*JBB 24

  1. 获取高性能MySQL的副本.好书.
  2. 转储中的扩展插入
  3. 转储--tab格式,这样你就可以使用mysqlimport,它比mysql <dumpfile更快
  4. 导入多个线程,每个表一个.
  5. 如果可能,请使用其他数据库引擎.导入像innodb这样的重度事务引擎非常慢.插入像MyISAM这样的非事务性引擎要快得多.
  6. 查看Maakit工具包中的表比较脚本,看看是否可以更新表而不是转储它们并导入它们.但你可能正在讨论备份/恢复.


Ali*_*man 15

http://www.maatkit.org/有一个mk-parallel-dump和mk-parallel-restore

如果您一直希望使用多线程mysqldump,请不要再希望了.此工具并行转储MySQL表.它是一个更聪明的mysqldump,既可以作为mysqldump的包装器(具有合理的默认行为),也可以作为SELECT INTO OUTFILE的包装器.它专为非常大的数据大小的高性能应用而设计,速度非常重要.它利用多个CPU和磁盘来更快地转储数据.

mysqldump中还有各种可能的选项,例如在导入转储时不创建索引 - 而是在完成时将它们包含在内.

  • 根据mk-parallel-dump手册页(http://www.maatkit.org/doc/mk-parallel-dump.html),它不应该用于备份.谨防! (3认同)
  • Maatkit现在是Percona Toolkit的一部分(https://launchpad.net/percona-toolkit) (2认同)
  • percona-toolkit中命令的名称是什么? (2认同)

Ale*_*vic 13

如果您要导入InnoDB,那么您可以做的最有效的事情就是放置

innodb_flush_log_at_trx_commit = 2
Run Code Online (Sandbox Code Playgroud)

在你的my.cnf,暂时导入运行时.1如果你需要ACID,你可以把它放回去.


Zty*_*tyx 5

我想你的问题还取决于瓶颈在哪里:

  • 如果你的网络是一个瓶颈,你也可以看一下-C/ --compressflag mysqldump.
  • 如果您的计算机内存不足(即开始交换),您应该购买更多内存.

另外,看一下--quick标志mysqldump(--disable-keys如果你使用的是MyIsam).