Mydumper 是 MySQL 数据库服务器备份工具,它比 MySQL 自带的 mysqldump 快很多。它还有在转储的同时获取远程服务器二进制日志文件的能力。

Mydumper 的优势

并行能力 (因此有高速度) 和性能 (高效的代码避免了耗费 CPU 处理能力的字符集转换过程)

更容易管理输出 (每个表都对应独立的文件,转储元数据等,便于查看/解析数据)

一致性 :跨线程维护快照, 提供精确的主从日志定位等。

可管理性 : 支持用 PCRE 来包含/排除指定的数据库和表(LCTT译注:PCRE,Perl Compatible Regular Expression,Perl兼容正则表达式)

在Ubuntu上安装 mydumper

打开终端运行以下命令

sudo apt-get install mydumper

使用 Mydumper

语法

mydumper [options]

应用程序选项:

-B, --database 要转储的数据库

-T, --tables-list 逗号分隔的转储表列表(不会被正则表达式排除)

-o, --outputdir 保存输出文件的目录

-s, --statement-size 插入语句的字节大小, 默认是1000000个字节

-r, --rows 把表按行数切块

-c, --compress 压缩输出文件

-e, --build-empty-files 空表也输出文件

-x, --regex 匹配‘db.table’的正则表达式

-i, --ignore-engines 以逗号分隔的被忽略的存储引擎列表

-m, --no-schemas 不转储表架构

-k, --no-locks 不执行临时共享读锁。警告: 这会导致备份的不一致性

-l, --long-query-guard 设置长查询的计时器秒数,默认是60秒

--kill-long-queries 杀死长查询 (而不是退出程序)

-b, --binlogs 获取二进制日志文件快照并转储数据

-D, --daemon 开启守护进程模式

-I, --snapshot-interval 每个转储快照之间的间隔时间(分钟), 需要开启 --daemon, 默认是60分钟

-L, --logfile 日志文件的名字,默认是stdout

-h, --host 要连接的主机

-u, --user 有转储权限的用户名

-p, --password 用户密码

-P, --port 连接的TCP/IP端口

-S, --socket 用于连接的Unix套接字文件

-t, --threads 使用的线程数,默认是4

-C, --compress-protocol 在MySQL连接上使用压缩

-V, --version 查看程序版本号

-v, --verbose 输出信息的等级, 0 = silent, 1 = errors, 2 = warnings, 3 = info, 默认是2

Mydumper 例子

mydumper \

--database=$DB_NAME \

--host=$DB_HOST \

--user=$DB_USER \

--password=$DB_PASS \

--outputdir=$DB_DUMP \

--rows=500000 \

--compress \

--build-empty-files \

--threads=2 \

--compress-protocol

Mydumper 输出数据的说明

Mydumper 不直接指定输出的文件,而是输出到文件夹的文件中。--outputdir 选项指定要使用的目录名称。

输出分为两部分

表结构

对数据库中的每个表,创建一个包含 CREATE TABLE 语句的文件。文件命名为:

dbname.tablename-schema.sql.gz

数据

每个表名跟着按 --rows 参数所切块的数量, 创建文件名字为:

dbname.tablename.0000n.sql.gz

"n"从0开始.

你可以使用Myloader恢复这些备份

myloader \

--database=$DB_NAME \

--directory=$DB_DUMP \

--queries-per-transaction=50000 \

--threads=10 \

--compress-protocol \

--verbose=3

本文由 LCTT 原创翻译,Linux中国 荣誉推出

mysql mydumper_系统运维|Mydumper-MySQL数据库备份工具相关推荐

  1. linux设置sfq队列参数,Linux系统运维之Linux高级流量控制工具TC使用方法

    Linux系统运维之Linux高级流量控制工具TC使用方法 本文标签: 运维 流量劫持 Linux系统运维之Linux高级流量控制工具TC使用方法, 在做MHA测试的时候,有一个重要的环节就是测试MH ...

  2. 查询mysql数量_Linux 运维基础 Mysql性能优化

    1, 查看MySQL服务器配置信息 mysql> show variables; 2, 查看MySQL服务器运行的各种状态值 mysql> show global status; 3, 慢 ...

  3. java读取mysql配置文件_Linux运维:MySQL读写分离解决方案

    一次性付费进群,长期免费索取教程,没有付费教程. 进微信群回复公众号:微信群:QQ群:460500587  教程列表 见微信公众号底部菜单 |  本文底部有推荐书籍  微信公众号:计算机与网络安全 I ...

  4. yum mysql 启动失败_Linux下MySQL数据库yum升级后无法启动解决办法 | 系统运维

    说明: 操作系统:CentOS 5.8 Web运行环境:Apache+MySQL+PHP(全部使用yum命令在线安装) Apache版本:2.2.3 MySQL版本:5.0.95 PHP版本:5.1. ...

  5. Linux系统运维工程师PDF文档精选

    收藏先,O(∩_∩)O~ Linux系统运维工程师PDF文档精选 1.高级Bash脚本编程指南  http://www.unixhot.com/pdf/bash.pdf 2.Linux 策略路由和流量 ...

  6. windows mysql 备份_Windows下MySQL数据库备份脚本(二) | 系统运维

    说明: MySQL数据库安装目录:C:\Program Files\MySQL\MySQL Server 5.0 MySQL数据库存放目录:C:\Program Files\MySQL\MySQL S ...

  7. linux mysql 磁盘_Linux运维知识之为Linux MySQL数据库设置磁盘限额

    本文主要向大家介绍了Linux运维知识之为Linux MySQL数据库设置磁盘限额,通过具体的内容向大家展现,希望对大家学习Linux运维知识有所帮助. 因为MySQL数据库本身没有磁盘限额的功能,我 ...

  8. linux php mysql 中文_Linux下PHP+MySQL+CoreSeek中文检索引擎配置 | 系统运维

    说明: 操作系统:CentOS 5.X 服务器IP地址:192.168.21.127 Web环境:Nginx+PHP+MySQL 站点根目录:/usr/local/nginx/html 目的:安装co ...

  9. php iis mysql windows2003,Windows Server 2003 IIS6.0+PHP5(FastCGI)+MySQL5环境搭建教程 | 系统运维...

    准备篇 一.环境说明: 操作系统:Windows Server 2003 SP2 32位 PHP版本:php 5.3.14 MySQL版本:MySQL5.5.25 二.相关软件下载: 1.PHP下载地 ...

最新文章

  1. python函数第二次运行报错_Python学习笔记2-函数、高级特性
  2. 可以对同一个html元素定义不同的样式,CSS的多种选择器的使用.ppt
  3. asp.net Login控件基本属性及事件说明
  4. hdu2019——数列有序解题报告
  5. linux复制文件通信方式,Linux分布式文件拷贝
  6. JavaFX UI控件教程(二十六)之Pagination Control
  7. 第九大陆服务器未找到文件,第九大陆服务器优化规则说明 拍卖行和寄售功能关闭公告...
  8. bool类型_C语言编程第11讲——C语言的布尔类型
  9. Pyqt 打开外部链接的几种方法
  10. latex ht在下一页_告诉我们在下一本出色的领导力著作中要包括的内容
  11. Protobuf报错Protocol message tag had invalid wire type
  12. jQuery分析(3) - jQuery.fn.init
  13. python和什么语言类似_python与其他语言的对比
  14. 软件设计精要与模式(第2版)
  15. django 实现同一个ip十分钟内只能注册一次
  16. gvdp哪个工厂用_ppr铝塑管和ppr水管哪个更适合家装?
  17. 数据结构——图的概述
  18. 【论文笔记】 Synthesizing Robust Adversarial Examples
  19. linux 相机,linux下使用大恒相机实时运行ORB-SLAM
  20. C/C++ 使用信号量控制线程运行顺序

热门文章

  1. Hawtio和Apache JClouds
  2. Java中的中介器设计模式-示例教程
  3. androidtabhost缓存_FragmentTabHost布局的使用及优化方式
  4. Eclipse 如何生成项目的javadoc(API 文档)
  5. 自己写的 ORACLE 函数的解读
  6. COLLATE oracle,Sql 中Collate用法
  7. c++ double 截取_c选择double小数点后自动截取3位,不...
  8. 为什么java抗并发_用最通熟易懂的话说明,为什么要使用java并发编程
  9. python聚类分析成绩反思_机器学习python实践——二分K-means聚类
  10. 嵌入式C语言编程——.h文件与.c文件