暂无图片
暂无图片
2
暂无图片
暂无图片
暂无图片

Mydumper的使用

原创 进击的CJR 2023-07-07
5064

多线程逻辑复制工具,实现chunk级别的并行备份,备份还可以将一张表写入一个甚至多个备份文件。 这样恢复时,不仅能实现表与表之间的并行恢复,还能实现同一张表在不同备份文件之间的并行恢复。

安装

下载安装

https://github.com/mydumper/mydumper/tags

tar xvf mydumper-0.15.0-7.tar.gz

tar zxvf mydumper-0.9.1.tar.gz
cd mydumper-0.9.1
cmake .
make
make install

yum install glib2-devel mysql-devel zlib-devel pcre-devel openssl-devel gcc-c++ cmake

安装完成后,在/usr/local/bin下有 mydumper 、myloader

安装报错问题解决

mydumper: error while loading shared libraries: libmysqlclient.so.21: cannot open shared object file: No such file or directory

```none
# locate libmysqlclient.so.21
# ll /usr/local/mysql/lib/
# cp /usr/local/mysql/lib/libmysqlclient.so.21 /usr/lib/
# ldconfig
# ldd /usr/local/bin/mydumper
# mydumper --help
```

mydumper: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory

```none
wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz
cd openssl-1.1.1o
./config
make
sudo make install
cp ./libssl.so.1.1 /usr/lib/
cp ./libcrypto.so.1.1 /usr/lib/
ldconfig
```

mydumper -V
mydumper v0.15.0-7, built against MySQL 8.0.25 with SSL support

mydumper -h 116.63.145.178 -P 3306 -u super -p super -t 10 -o /data/backup

mysqldump -usuper -p’super’ -h116.63.145.178 -P3306 --single-transaction --master-data=2 --set-gtid-purged=OFF --hex-blob --triggers --routines --events -A > /tmp/all.sql

metadata中记录备份的信息

File = mysql-bin.000002
Position = 736867
Executed_Gtid_Set = ff5d8661-1338-11ee-936b-fa163e8de5fc:1-17

常用选项

mydumper选项

-B,–database

指定备份库,指定多个中间用,隔开

-T,–tables-list

指定表,表必须是database.table形式,可以指定多张表,中间用,隔开

-O, --omit-from-file

忽略文件中指定表的备份

-x,–regex

指定库的备份,支持正则表达式

-i, --ignore-engines

忽略指定引擎表的备份,逗号隔开

–trigger --events --routines

触发器,定时器,存储过程备份

-W, --no-views

不备份视图

-m, --no-schemas

不备份表结构

-d, --no-data

不备份数据

–where

只导出满足where条件的数据

-r, --rows

使用该选项会将表分成多个chunk进行并行备份,否则只进行表级别的备份。

-F, --chunk-filesize

对于不能进行并行备份的表,会写到一个文件中,恢复也只能启动一个线程来恢复,

可以使用该参数,将单表数据写到多个文件中,这样恢复时,可以启动多个线程进行并行恢复

–max-rows

限制单个chunk的最大行数,默认是1000000

-k, --no-locks

备份过程中不加任何锁

–use-savepoints

每个表备份之前设置savepoint,可提高DDL并发性

–lock-all-tables

使用LOCK TABLE …READ 命令加表锁代替全局读锁

-c,–compress

压缩备份

-t,–threads

指定备份的数量,默认是4

-L,–logfile

将日志输出到指定文件,默认是输出到终端

myloader选项

-h,–host

-p,–port

-u,–user

-p,–password

-S,–socket

-s,–source-db

指定要导入的库,只能指定单个库

-B,–database

将表导入到-B指定的库

–skip-trigger

不导入触发器

–skip-post

不导入定时器,存储过程和函数

–no-data

不导入数据

-T,–tables-list

只导入指定表,必须是database.table形式

–skip-definer

移除create中的definer子句

-q, --queries-per-transaction

多久提交一次,默认是1000个insert

–innodb-optimize-keys

先导入数据,再添加索引

-o, --overwrite-tables

导入时,对于已经存在的表,会首先执行drop table操作

-e, --enable-binlog

导入时,开启binlog,默认sql_log_bin设置为0

–purge-mode

-o, --overwrite-tables的基础上,可指定DROP truncate delete操作

–max-threads-per-table

针对单表的最大线程数,默认是4

-t, --threads

导入线程的数量

常见用法

备份

mydumper -h 116.63.145.178 -P 3306 -u super -p super -G -E -R -r100000 -F 64 -t 10 -o /data/backup/mydumper

-r指定分片大小(行)

-F 单个chunk大小,单位M

-t指定线程数量

mydumper -h 116.63.145.178 -P 3306 -u super -p super -B world -o /data/backup/world

备份单个库

mydumper -h 116.63.145.178 -P 3306 -u super -p super -T world.city,world.country -o /data/backup/world1

备份指定表

mydumper -h 116.63.145.178 -P 3306 -u super -p super -G -E -R -F 64 -t 10 -o /data/backup/mydumper

忽略world库的备份

忽略指定表-O world.city

恢复

mydumper -h 116.63.145.178 -P 3306 -u super -p super -B world -o /data/backup/world1111111111

drop database world;

myloader -h 116.63.145.178 -P 3306 -u super -p super -o -e -t 8 -d /data/backup/world1111111111

-o 用于删除已经存在的表或视图

-e用于开启binlog

-t 指定导入线程的并发线程数

myloader -h 116.63.145.178 -P 3306 -u super -p super -e -s world -d /data/backup/world1111111111

导入指定库-

myloader -h 116.63.145.178 -P 3306 -u super -p super -e -s world -B word_1 -d /data/backup/world1111111111

导入到另外一个库

最后修改时间:2023-07-07 17:21:42
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论