关于备份:加快mysql转储和导入

关于备份:加快mysql转储和导入

Speeding up mysql dumps and imports

是否有任何文献记载的技术可以加快mySQL转储和导入的速度?

这将包括my.cnf设置,使用虚拟磁盘等。

只寻找有据可查的技术,最好是基准测试显示潜在的加速效果。


  • 获取高性能MySQL的副本。很棒的书。
  • 转储中的扩展插入
  • 以--tab格式转储,因此您可以使用mysqlimport
    比mysql
  • 导入有多个线程,每个线程一个。
  • 如果可能,请使用其他数据库引擎。导入到
    像innodb这样的大量事务引擎非常慢。插入
    变成非交易引擎
    MyISAM快得多。
  • 查看Maakit工具包中的表比较脚本,看看是否可以
    更新您的表,而不是转储它们并导入它们。但
    您可能正在谈论备份/还原。

  • http://www.maatkit.org/具有mk-parallel-dump和mk-parallel-restore

    If you’ve been wishing for multi-threaded mysqldump, wish no more. This tool dumps MySQL tables in parallel. It is a much smarter mysqldump that can either act as a wrapper for mysqldump (with sensible default behavior) or as a wrapper around SELECT INTO OUTFILE. It is designed for high-performance applications on very large data sizes, where speed matters a lot. It takes advantage of multiple CPUs and disks to dump your data much faster.

    mysqldump中还有许多潜在的选项,例如在导入转储时不创建索引-而是在完成时按顺序进行索引。


    如果您要导入InnoDB,则最有效的方法就是将

    1
    innodb_flush_log_at_trx_commit = 2

    在您的my.cnf中,暂时在导入运行时使用。如果需要ACID,可以将其放回1


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

    • 如果您的网络是瓶颈,您还可以查看mysqldump-C / --compress标志。
    • 如果您的计算机内存不足(即开始交换),则应该购买更多的内存。

    另外,请查看mysqldump--quick标志(如果使用的是MyIsam,则查看--disable-keys)。


    关闭外键检查并打开自动提交。


    在转储中使用扩展插入将使导入更快。


    如果只有MyIsam表,则mysqlhotcopy也可能是您的替代选择。


    另一个替代方法是http://www.mydumper.org-多线程mysql备份/还原,它比mysqldump快3到10倍,并且可以处理MyISAM和InnoDB以及Drizzle http://vbtechsupport.com/1695/


    使用索引但不要过多,激活查询缓存,对大型数据库使用sphinx,这是一些很好的技巧,http://www.keedeo.com/media/1857/26-astuces-pour-accelerer-vos-requetes-mysql(法语)


    推荐阅读

      linux命令行设置网卡?

      linux命令行设置网卡?,系统,地址,信息,网络,工具,电脑,工作,名称,设备,网卡,l

      linux设置命令是什么?

      linux设置命令是什么?,系统,工作,信息,名称,地址,命令,在线,基础,标准,工具,l

      linux备份整机命令?

      linux备份整机命令?,系统,工具,数据,设备,备份,情况,时间,地址,命令,文件,lin

      linux命令设置密码?

      linux命令设置密码?,密码,系统,服务,软件,地址,电脑,流程,管理,用户,命令,问

      linux命令行设置语言?

      linux命令行设置语言?,系统,管理,环境,国家,工具,电脑,软件,文化,底部,语言,l

      linux设置壁纸的命令?

      linux设置壁纸的命令?,图片,系统,电脑,照片,位置,终端,颜色,字体,单击,壁纸,

      linux恢复命令行设置?

      linux恢复命令行设置?,系统,工作,密码,信息,工具,地址,电脑,命令,情况,地方,

      linux命令提示设置?

      linux命令提示设置?,系统,工作,地址,信息,命令,软件,目录,管理,变量,文件,Lin

      linux设置命令ip?

      linux设置命令ip?,地址,系统,代码,命令,密码,网卡,终端,计算机,测试,网关,lin

      linux设置man命令?

      linux设置man命令?,信息,系统,工具,工作,地址,命令,基础,地方,基本知识,技术

      linux鼠标设置命令?

      linux鼠标设置命令?,系统,软件,环境,产品,设备,数据,网络,网址,工具,情况,lin

      linux参数设置命令?

      linux参数设置命令?,网络,系统,地址,工作,信息,管理,服务,名称,状态,命令,在l

      备份还原命令linux?

      备份还原命令linux?,系统,数据,设备,一致,密码,工具,备份,数据库,命令,文件,L

      linux设置电源的命令?

      linux设置电源的命令?,系统,信息,管理,设备,扩大,时间,设计,电脑,代码,位置,l

      linux拷贝备份命令?

      linux拷贝备份命令?,设备,系统,文件,命令,情况,备份,目录,源文件,选项,分区,l

      linux设置路由器命令?

      linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,l

      linux拷贝备份命令?

      linux拷贝备份命令?,设备,系统,文件,命令,情况,备份,目录,源文件,选项,分区,l

      linux设置根命令过短?

      linux设置根命令过短?,系统,工作,软件,地址,命令,代码,情况,管理,基础,位置,3

      linux设置路由器命令?

      linux设置路由器命令?,网络,信息,代码,地址,电脑,工作,环境,系统,密码,路由,l

      linux命令备份文件夹?

      linux命令备份文件夹?,设备,系统,文件,命令,备份,情况,做好,名字,灵活,数据,l