Mydumper - MySQL数据库备份工具
Mydumper 是 MySQL 数据库服务器备份工具,它比 MySQL 自带的 mysqldump 快很多。它还有在转储的同时获取远程服务器二进制日志文件的能力。
Mydumper 的优势
- 并行能力 (因此有高速度) 和性能 (高效的代码避免了耗费 CPU 处理能力的字符集转换过程)
- 更容易管理输出 (每个表都对应独立的文件,转储元数据等,便于查看/解析数据)
- 一致性 :跨线程维护快照, 提供精确的主从日志定位等。
- 可管理性 : 支持用 PCRE 来包含/排除指定的数据库和表(LCTT译注:PCRE,Perl Compatible Regular Expression,Perl兼容正则表达式)
在Ubuntu上安装 mydumper
打开终端运行以下命令
<span class="pln">sudo apt</span><span class="pun">-</span><span class="kwd">get</span><span class="pln"> install mydumper</span>
使用 Mydumper
语法
<span class="pln">mydumper </span><span class="pun">[</span><span class="pln">options</span><span class="pun">]</span>
应用程序选项:
- -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 例子
<span class="pln">mydumper \</span>
<span class="pun">--</span><span class="pln">database</span><span class="pun">=</span><span class="pln">$DB_NAME \</span>
<span class="pun">--</span><span class="pln">host</span><span class="pun">=</span><span class="pln">$DB_HOST \</span>
<span class="pun">--</span><span class="pln">user</span><span class="pun">=</span><span class="pln">$DB_USER \</span>
<span class="pun">--</span><span class="pln">password</span><span class="pun">=</span><span class="pln">$DB_PASS \</span>
<span class="pun">--</span><span class="pln">outputdir</span><span class="pun">=</span><span class="pln">$DB_DUMP \</span>
<span class="pun">--</span><span class="pln">rows</span><span class="pun">=</span><span class="lit">500000</span><span class="pln"> \</span>
<span class="pun">--</span><span class="pln">compress \</span>
<span class="pun">--</span><span class="pln">build</span><span class="pun">-</span><span class="pln">empty</span><span class="pun">-</span><span class="pln">files \</span>
<span class="pun">--</span><span class="pln">threads</span><span class="pun">=</span><span class="lit">2</span><span class="pln"> \</span>
<span class="pun">--</span><span class="pln">compress</span><span class="pun">-</span><span class="pln">protocol</span>
Mydumper 输出数据的说明
Mydumper 不直接指定输出的文件,而是输出到文件夹的文件中。--outputdir 选项指定要使用的目录名称。
输出分为两部分
表结构
对数据库中的每个表,创建一个包含 CREATE TABLE 语句的文件。文件命名为:
dbname.tablename-schema.sql.gz
数据
每个表名跟着按 --rows 参数所切块的数量, 创建文件名字为:
dbname.tablename.0000n.sql.gz
"n"从0开始.
你可以使用Myloader恢复这些备份
<span class="pln">myloader \</span>
<span class="pun">--</span><span class="pln">database</span><span class="pun">=</span><span class="pln">$DB_NAME \</span>
<span class="pun">--</span><span class="pln">directory</span><span class="pun">=</span><span class="pln">$DB_DUMP \</span>
<span class="pun">--</span><span class="pln">queries</span><span class="pun">-</span><span class="pln">per</span><span class="pun">-</span><span class="pln">transaction</span><span class="pun">=</span><span class="lit">50000</span><span class="pln"> \</span>
<span class="pun">--</span><span class="pln">threads</span><span class="pun">=</span><span class="lit">10</span><span class="pln"> \</span>
<span class="pun">--</span><span class="pln">compress</span><span class="pun">-</span><span class="pln">protocol \</span>
<span class="pun">--</span><span class="pln">verbose</span><span class="pun">=</span><span class="lit">3</span>
相关推荐
CoderToy 2020-11-16
技术之博大精深 2020-10-16
emmm00 2020-11-17
bianruifeng 2020-11-16
云中舞步 2020-11-12
世樹 2020-11-11
暗夜之城 2020-11-11
张荣珍 2020-11-12
amienshxq 2020-11-14
ASoc 2020-11-14
yungpheng 2020-10-19
loveyouluobin 2020-09-29
尘封飞扬 2020-09-29
Coder技术文摘 2020-09-29
lbyd0 2020-11-17
BigYellow 2020-11-16
sushuanglei 2020-11-12
我心似明月 2020-11-09