视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL数据库备份工具Mydumper使用介绍
2020-11-09 09:10:50 责编:小采
文档

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

    下载本文
    显示全文
    专题