mydumper的简单使用
2023-10-17 17:51 abce 阅读(320) 评论(0) 编辑 收藏 举报mydumper导出
# 备份全部数据库,排除系统库
mydumper -u root -p root --regex '^(?!(mysql|sys|performance_schema|information_schema))' -e -G -R -E -D -v 3 --skip-tz-utc -o /backup -L /backup
# 备份全部数据库,包含触发器、事件、存储过程及函数
mydumper -u root -p root -G -R -E -o /mydumper/data/all/
# 备份指定库
mydumper -u root -p root -G -R -E -B db1 -o /mydumper/data/db1
# 备份指定表
mydumper -u root -p root -B db1 -T tb1,tb2 -o /mydumper/data/db1
# 只备份表结构
mydumper -u root -p root -B db1 -d -o /mydumper/data/db1
# 只备份表数据
mydumper -u root -p root -B db1 -m -o /mydumper/data/db1
# 一些重要的参数:
-G:触发器
-R:routines
-E:events
-B:数据库名
-o:输出目录
-L:日志文件名
-t:线程数量,默认是4
-c:压缩
-Y:所有表空间
--complete-insert:Use complete INSERT statements that include column names
--views-as-tables:Export VIEWs as they were tables
-e, --build-empty-files Build dump files even if no data available from table
-D, --daemon Enable daemon mode
-v, --verbose Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
myloader导入
# 恢复备份文件中的全部,若表已存在则先删除
myloader -u root -p root -o -d /backups/
# 从全备中恢复指定库
myloader -u root -p root -s db1 -o -d /backups/
# 将某个数据库备份还原到另一个数据库中(目标库不存在则会新建)
myloader -u root -p root -B recover_db1 -s db1 -o -d /backups/
myloader -u root -p root -B recover_db1 -o -d /backups/
# 恢复时开启binlog(有备库的时候需要开启)
myloader -u root -p root -e -o -d /backups/
# 导入特定的某几张表
# 先将 metadata文件和需要单独导入的表的结构文件和数据文件导入到单独的文件夹中。此处默认库已建好,否则还需要复制建库相关语句。
cp /mydumper/data/db1/0/metadata /backup/db1/0/
cp /mydumper/data/db1/0/d1.t1-schema.sql /backup/db1/0/
cp /mydumper/data/db1/0/d1.t1.sql /backup/db1/0/
## 从新文件夹中导入数据
myloader -u root -p root -B db1 -d /backup/db1/0/
## 以上就可以单独导入 db1.t1
或者
# 无法直接还原单表 只能找到单表的sql文件 进入命令行source 执行
source db1.tb1-schema.sql 还原表结构
source db1.tb1.sql 还原表数据
一些重要的参数:
-t, --threads Number of threads to use, default 4
-v, --verbose Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2
-d, --directory Directory of the dump to import
-L, --logfile Log file name to use, by default stdout is used
-B, --database An alternative database to restore into
--resume Expect to find resume file in backup dir and will only process those files
--defaults-file Use a specific defaults file. Default: /etc/mydumper.cnf
-e, --enable-binlog Enable binary logging of the restore data
-o, --overwrite-tables Drop tables if they already exist
--innodb-optimize-keys Creates the table without the indexes and it adds them at the end. Options: AFTER_IMPORT_PER_TABLE and AFTER_IMPORT_ALL_TABLES. Default: AFTER_IMPORT_PER_TABLE
-s, --source-db Database to restore
默认情况下,myloader是不开启binlog 的,这样可以提高导入速度。如果导入实例有从库,且需要导入的结果同步到从库上,则需要使用-e打开binlog记录。