【MySQL】数据库逻辑备份工具--mydumper
发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,[root@wallet01 ~]# yum install -y glib2-devel mysql-devel zlib-devel \pcre-devel openssl-devel cmake
千家信息网最后更新 2025年01月22日【MySQL】数据库逻辑备份工具--mydumper
[root@wallet01 ~]# yum install -y glib2-devel mysql-devel zlib-devel \pcre-devel openssl-devel cmake[root@wallet01 ~]# git clone https://github.com/maxbube/mydumper.gitInitialized empty Git repository in /root/mydumper/.git/error: while accessing https://github.com/maxbube/mydumper.git/info/refsfatal: HTTP request failed[root@wallet01 ~]# yum update -y nss curl libcurl[root@wallet01 ~]# git clone https://github.com/maxbube/mydumper.gitInitialized empty Git repository in /root/mydumper/.git/remote: Enumerating objects: 1185, done.remote: Total 1185 (delta 0), reused 0 (delta 0), pack-reused 1185Receiving objects: 100% (1185/1185), 983.01 KiB | 573 KiB/s, done.Resolving deltas: 100% (724/724), done.[root@wallet01 ~]# cd mydumper[root@wallet01 mydumper]# cmake .[root@wallet01 mydumper]# make[root@wallet01 mydumper]# make install[root@wallet01 ~]# mydumper --help -B, --database 需要备份的数据库,不指定则备份全部库 -T, --tables-list 需要备份的表,多表用逗号隔开 -O, --omit-from-file File containing a list of database.table entries to skip, one per line (skips before applying regex option) -o, --outputdir 备份目录 -s, --statement-size Attempted size of INSERT statement in bytes, default 1000000 -r, --rows Try to split tables into chunks of this many rows. This option turns off --chunk-filesize -F, --chunk-filesize Split tables into chunks of this output file size. This value is in MB -c, --compress 压缩备份文件 -e, --build-empty-files Build dump files even if no data available from table -x, --regex Regular expression for 'db.table' matching -i, --ignore-engines Comma delimited list of storage engines to ignore -N, --insert-ignore Dump rows with INSERT IGNORE -m, --no-schemas 不备份表结构,仅备份表数据 -d, --no-data 不备份表数据,仅备份表结构 -G, --triggers 备份与表关联的触发器 -E, --events 备份数据库的事件 -R, --routines 备份数据库的存储过程和函数 -W, --no-views 不备份数据库的视图 -k, --no-locks Do not execute the temporary shared read lock. WARNING: This will cause inconsistent backups --no-backup-locks Do not use Percona backup locks --less-locking Minimize locking time on InnoDB tables. -l, --long-query-guard Set long query timer in seconds, default 60 -K, --kill-long-queries Kill long running queries (instead of aborting) -D, --daemon Enable daemon mode -I, --snapshot-interval Interval between each dump snapshot (in minutes), requires --daemon, default 60 -L, --logfile Log file name to use, by default stdout is used --use-savepoints Use savepoints to reduce metadata locking issues, needs SUPER privilege --lock-all-tables Use LOCK TABLE for all, instead of FTWRL --trx-consistency-only Transactional consistency only --complete-insert Use complete INSERT statements that include column names -h, --host The host to connect to -u, --user Username with the necessary privileges -p, --password User password -a, --ask-password Prompt For User password -P, --port TCP/IP port to connect to -S, --socket UNIX domain socket file to use for connection -t, --threads 备份使用的线程数量,默认是 4 -C, --compress-protocol Use compression on the MySQL connection -V, --version Show the program version and exit -v, --verbose Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2备份全部库:除了information_schema与performance_schema之外的库都会被备份[mysql@wallet01 ~]$ mydumper -u root -p abcd.1234 -o /home/mysql/backup备份指定的库 [mysql@wallet01 ~]$ mydumper -u root -p abcd.1234 -B tpcc100 -o /home/mysql/backup[mysql@wallet01 ~]$ cd backup[mysql@wallet01 backup]$ ls -lhtotal 732M-rw-rw-r-- 1 mysql mysql 141 Feb 1 09:08 metadata-rw-rw-r-- 1 mysql mysql 1.4K Feb 1 09:07 tpcc100.customer-schema.sql-rw-rw-r-- 1 mysql mysql 172M Feb 1 09:08 tpcc100.customer.sql-rw-rw-r-- 1 mysql mysql 804 Feb 1 09:07 tpcc100.district-schema.sql-rw-rw-r-- 1 mysql mysql 11K Feb 1 09:07 tpcc100.district.sql-rw-rw-r-- 1 mysql mysql 481 Feb 1 09:07 tpcc100.history-schema.sql-rw-rw-r-- 1 mysql mysql 19M Feb 1 09:07 tpcc100.history.sql-rw-rw-r-- 1 mysql mysql 431 Feb 1 09:07 tpcc100.item-schema.sql-rw-rw-r-- 1 mysql mysql 7.9M Feb 1 09:07 tpcc100.item.sql-rw-rw-r-- 1 mysql mysql 304 Feb 1 09:07 tpcc100.new_order-schema.sql-rw-rw-r-- 1 mysql mysql 1.1M Feb 1 09:07 tpcc100.new_order.sql-rw-rw-r-- 1 mysql mysql 615 Feb 1 09:07 tpcc100.order_line-schema.sql-rw-rw-r-- 1 mysql mysql 204M Feb 1 09:08 tpcc100.order_line.sql-rw-rw-r-- 1 mysql mysql 525 Feb 1 09:07 tpcc100.orders-schema.sql-rw-rw-r-- 1 mysql mysql 14M Feb 1 09:07 tpcc100.orders.sql-rw-rw-r-- 1 mysql mysql 66 Feb 1 09:07 tpcc100-schema-create.sql-rw-rw-r-- 1 mysql mysql 1.2K Feb 1 09:07 tpcc100.stock-schema.sql-rw-rw-r-- 1 mysql mysql 316M Feb 1 09:08 tpcc100.stock.sql-rw-rw-r-- 1 mysql mysql 730 Feb 1 09:07 tpcc100.warehouse-schema.sql-rw-rw-r-- 1 mysql mysql 1.2K Feb 1 09:07 tpcc100.warehouse.sql备份指定的表[mysql@wallet01 ~]$ mydumper -u root -p abcd.1234 -B tpcc100 -T customer -o /home/mysql/backup[mysql@wallet01 ~]$ cd backup[mysql@wallet01 backup]$ ls -lhtotal 172M-rw-rw-r-- 1 mysql mysql 141 Feb 1 09:20 metadata-rw-rw-r-- 1 mysql mysql 1.4K Feb 1 09:20 tpcc100.customer-schema.sql-rw-rw-r-- 1 mysql mysql 172M Feb 1 09:20 tpcc100.customer.sql-rw-rw-r-- 1 mysql mysql 66 Feb 1 09:20 tpcc100-schema-create.sql备份多表[mysql@wallet01 ~]$ mydumper -u root -p abcd.1234 -B tpcc100 -T customer,orders -o /home/mysql/backup[mysql@wallet01 ~]$ cd backup[mysql@wallet01 backup]$ ls -lhtotal 186M-rw-rw-r-- 1 mysql mysql 141 Feb 1 09:24 metadata-rw-rw-r-- 1 mysql mysql 1.4K Feb 1 09:24 tpcc100.customer-schema.sql-rw-rw-r-- 1 mysql mysql 172M Feb 1 09:24 tpcc100.customer.sql-rw-rw-r-- 1 mysql mysql 525 Feb 1 09:24 tpcc100.orders-schema.sql-rw-rw-r-- 1 mysql mysql 14M Feb 1 09:24 tpcc100.orders.sql-rw-rw-r-- 1 mysql mysql 66 Feb 1 09:24 tpcc100-schema-create.sql仅备份表结构[mysql@wallet01 ~]$ mydumper -u root -p abcd.1234 -B tpcc100 -T customer -d -o /home/mysql/backup[mysql@wallet01 ~]$ cd backup[mysql@wallet01 backup]$ ls -lhtotal 12K-rw-rw-r-- 1 mysql mysql 141 Feb 1 09:25 metadata-rw-rw-r-- 1 mysql mysql 1.4K Feb 1 09:25 tpcc100.customer-schema.sql-rw-rw-r-- 1 mysql mysql 66 Feb 1 09:25 tpcc100-schema-create.sql仅备份表数据[mysql@wallet01 ~]$ mydumper -u root -p abcd.1234 -B tpcc100 -T customer -m -o /home/mysql/backup[mysql@wallet01 ~]$ cd backup[mysql@wallet01 backup]$ ls -lhtotal 172M-rw-rw-r-- 1 mysql mysql 141 Feb 1 09:27 metadata-rw-rw-r-- 1 mysql mysql 172M Feb 1 09:27 tpcc100.customer.sql[root@wallet01 ~]# myloader --help -d, --directory 备份目录 -q, --queries-per-transaction Number of queries per transaction, default 1000 -o, --overwrite-tables 如果表已经存在则删除 -B, --database 还原到另一个数据库,例如备份A库,还原为B库 -s, --source-db 需要还原的数据库(备份文件中) -e, --enable-binlog Enable binary logging of the restore data -h, --host The host to connect to -u, --user Username with the necessary privileges -p, --password User password -a, --ask-password Prompt For User password -P, --port TCP/IP port to connect to -S, --socket UNIX domain socket file to use for connection -t, --threads 还原使用的线程数量,默认是 4 -C, --compress-protocol Use compression on the MySQL connection -V, --version Show the program version and exit -v, --verbose Verbosity of output, 0 = silent, 1 = errors, 2 = warnings, 3 = info, default 2 还原全部库 [mysql@wallet01 ~]$ myloader -u root -p abcd@1234 -o -d /home/mysql/backup 还原指定的库[mysql@wallet01 ~]$ myloader -u root -p abcd@1234 -o -s tpcc100 -d /home/mysql/backup 备份的tpcc100库还原为tpcc200库[mysql@wallet01 ~]$ myloader -u root -p abcd@1234 -o -B tpcc200 -s tpcc100 -d /home/mysql/backup还原指定的表[mysql@wallet01 ~]$ mysql -uroot -pabcd@1234 tpcc100 < /home/mysql/backup/tpcc100.customer-schema.sql[mysql@wallet01 ~]$ mysql -uroot -pabcd@1234 tpcc100 < /home/mysql/backup/tpcc100.customer.sql
备份
数据
数据库
结构
数量
文件
目录
线程
事件
函数
定则
视图
触发器
过程
逗号
关联
存储
备份工具
工具
逻辑
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
党委网络安全第一责任人
tp5如何连接数据库
江苏质量软件开发厂家批发价
中学网络安全演讲
世界上最大的书目数据库是哪一项
假期软件开发的相关经验
两台服务器共用一个lun
cs1.6创建服务器
网络安全评估简报
递归软件开发公司
热血江湖80版数据库中文官方版
查看数据库表的大小
青岛移动软件开发代码
怎样安全关闭服务器
服务器安全证书绑定端口
佛山微信软件开发设计
如何欺骗邮箱服务器
上海市网络安全总队官网
电脑不停在扫描一台服务器
数据库不暴露主键
订单软件开发需求
软件开发方案编写流程
徐州网络技术开发项目
传统数据库与大数据仓库的区别
网络技术最新的研究方向
福建专业网络技术
企业网络安全平台经销商
网络安全来宾用户账号名称
数据库的安全解决措施
平安互联网科技金融公司