• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    mysql中mydumper 和 mysqldump 对比使用

    如果只是备份几张表或单个库, 相比 innobackup 而言, mysqldump 和 mydumper 更为方便, 不过 mydumper 增加了相对较多的特性, 比如多线程备份, 正则匹配备份, 分组和自检等功能. 另外 mydumper 和 mysqldump 本质上是一样的导出逻辑数据, 不支持在线热备 innodb. 当然我们也可以使用 innobackup 备份部分表数据, 但是它和 mydumper 和 mysqldump 不是一类备份方式, 所以下文只测试 mydumper 和 mysqldump 之间的使用.

    mydumper 导出

    使用 mydumper 工具以 8 个线程导出 test(9.4G) 的数据, 并压缩, 如下所示:
    mydumper -B test --regex 'test.*' -c -e -G -E -R --use-savepoints -h 10.0.21.5 -u root -P 3301 -p xxxxxx -t 8 -o /data/mysql_bak/

    在目录 /data/mysql_bak 里, 库中的每个表都保存为表定义和数据两个文件.

    整体执行时间如下, 一共耗时 123s

    # cat metadata 
    Started dump at: 2017-05-19 10:48:00
    SHOW MASTER STATUS:
      Log: mysql-bin.000406
      Pos: 2165426
      GTID:(null)
    
    SHOW SLAVE STATUS:
      Host: 10.144.127.4
      Log: mysql-bin.000419
      Pos: 506000361
      GTID:(null)
    
    Finished dump at: 2017-05-19 10:50:03
    
    

    mysqldump 导出

    使用默认的 mysqldump 工具导出该库并压缩, 如下所示:

    # time mysqldump -B test -E -R -h 10.0.21.5 -u root -P 3301 -p | gzip >/data/test.sql.gz
    Enter password: 
    
    real  3m19.805s
    user  4m47.334s
    sys 0m10.395s
    
    

    real 一行显示 mysqldump 整个运行的时间为 199.8s

    总结

    整体上看, 由于数据不多, mysqldump 和 mydumper 时间相差并不大, 大多的时间都消耗在数据传输层面, 如果库足够大的话, mydumper 的优势就能体现出来. 另外低版本的 mydumper 由于高版本 MySQL 语法的变更, 会存在导出错误的问题, 比如出现下面错误:

    ** (mydumper:18758): CRITICAL **: Couldn't execute 'SET OPTION SQL_QUOTE_SHOW_CREATE=1': You have an error in your SQL syntax; 
    check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_QUOTE_SHOW_CREATE=1' 
    at line 1 (1064)
    

    处理这种问题可以使用高版本的 mydumper , 如果高版本还有这个问题可以参考 github 官方代码做相应代码修改.

    您可能感兴趣的文章:
    • PHP定时备份MySQL与mysqldump语法参数详解
    • mysqldump加-w参数备份数据时需要注意的事项
    • mysqldump数据库备份参数详解
    • MySQL5.7 mysqldump备份与恢复的实现
    • MySql使用mysqldump 导入与导出方法总结
    • MySQL之mysqldump的使用详解
    • docker 使用mysqldump命令备份导出项目中的mysql数据
    • MySQL数据迁移使用MySQLdump命令
    • 详解 linux mysqldump 导出数据库、数据、表结构
    • 详谈mysqldump数据导出的问题
    • mysqldump备份数据库时排除某些库的实例
    • 浅谈mysqldump使用方法(MySQL数据库的备份与恢复)
    • mysqldump你可能不知道的参数
    上一篇:mysql中索引与FROM_UNIXTIME的问题
    下一篇:mysql mycat 中间件安装与使用
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    mysql中mydumper 和 mysqldump 对比使用 mysql,中,mydumper,和,mysqldump,