文档详情

mysqldumper和mysqlload使用教程

亦***
实名认证
店铺
DOCX
44.40KB
约15页
文档ID:295602754
mysqldumper和mysqlload使用教程_第1页
1/15

mysqldumper 和 mysqnoad 使用教程mydumper是一个针对MySQL和Drizzle的高性能多线程备份与恢复工具,其开发人员主要 来自MySQL、Facebook> SkySQL公司my dumper具有如下特性:• 采用轻量级C语言编写,使用glibc库• 执行速度比my sqldump大约快10倍• 支持事务性表和非事务性表一致的快照(适用于022以上版本)• 支持快速的文件压缩支持导出binlog (在新版本中已经不能备份binlog)• 支持将备份文件切块• 多线程备份(因为是多线程逻辑备份,备份后会生成多个备份文件)• 多线程恢复(适用于021以上版本)• 在备份时对MylSAM表施力DFTWRL (FLUSH TABLES WITH READ LOCK),会 阻塞DML语句• 支持以守护进程的方式工作,支持定时快照• 基于GNU GPLv3协议开源在mydumper安装包中包含两个可执行程序,即my dumper和my loader,前者用于将数 据库中的数据备份为文本文件;后者用于恢复mydumper备份的文本文件到数据库中主线程负责建立一致性数据备份点、初始化工作线程和为工作线程推送备份任务。

• 对备份实例加读锁,阻塞写操作,以建立一致性数据快照点,记录备份点的binlog[root@localhost [root@localhost[root0localhost#执行备份[root@localhost-rw-r--r-- 1root-rw-r—r— 1root root-rw-r--r-- 1rootmydumper-master]# mkdir /data/backup/mydumper -p mydumper-master]# cd /data/backup/mydumper/ mydumper]# rm -rf * mydumper] # my dimmer -def aults-file=/hocne/mysql/conf/rayl. cn£ -G -E -R\--skip-tz-utc --con^lete-insert -h 10.10.30.241 -u admin -p password -t 16 -o\ /data/backup/mydumper«当备份完成后,查看备份目录下的各份文件[root@ local host mydumper] # 11 /data/backup/mydumper/sbtest*-rw-r--r-- 1-rw-r——r——1 root root 82 May 31 15:18 /data/backup/ mydumper/sbtest-schema-create.sql从上面的结果中可以看到,对于一致性备份,会生成一个元数据文件,其中保存了 binlog pos和GTID集合;对于每一个库,都会生成一个db_name-schema-create.sql文件,其 中存放着建库语句;对于每一个表,都会生成两个SQL文件,建表语句存放在类似于 的文件中,数据存放在类似于的文件中。

如果 有要修改的地方,那么请自行翻开文件进行修改送库语句[root@ local ho st mydumper] # cat sbtest-schema-create. sqlCREATE DATABASE 'sbtest' /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;«建表语句/*!40101 SET NAMES binary*/;/*!40014 SET FOREIGN_KEY_CHECKS=0*/;CREATE TABLE 'sbtestl' ('id' int (10) unsigned NOT NULL AUTO_INCREMENT/、k' int (10) unsigned NOT NULL DEFAULT 'O', 'c' char(120) COLLATE utf8_bin NOT NULL DEFAULT 'pad' char(60) COLLATE utf8_bin NOT NULL DEFAULT PRIMARY KEY id'),KEY、k_l' (、k、)) ENGINE=InnoDB AUTO_INCREMENT=18554580 DEFAULT CHARSET=utf8 COLLATE=utf8_bin MAX_ROWS=1000000;t DML 的 INSERT 语句[root@localhost mydumper] # head -10 sb test. sbtestl. sql/*140101 SET NAMES binary*/;/*140014 SET FOREIGN_KEY_CHECKS=0*/;INSERT INTO 'sbtestl' ('id,'k','c,、pad') VALUESnr n63188288836-92351140030-06390587585-6 6802097351-49282961843"),(4,2435986, n,f binlog pos 和 GTID 集合 [root@ local host mydumper] # cat metadata Started dump at: 2017-05-31 15:45:45 SHOW MASTER STATUS: Log: mysql-bin.000012 Pos: 3520150GTID:2016f827-2d98-lle7-bble-00163e407cfb:1-1878711, 402872e0-33bd-lle7-8e8d-00163e4fde29:1-180732, 4e5fb89f-3fa9-lle7-9e0c-00163e4fde29:l-10r 5fe70ca9-3fab-lle7-bc48-00163e4fde29:l-61r 799ef59c-4126-lle7-83ce-00163e407cfb:1-270345, 8440023c-3f9f-lle7-8f52-00163e4fde29:l-10SHOW SLAVE STATUS: Host: 10.10.30.250 Log: mysql-bin.000002 Pos: 234GTID:2016f827-2d98-lle7-bble-00163e407cfb:1-1878711, 402872e0-33bd-lle7-8e8d-00163e4fde2921-180732, 4e5fb89f-3fa9-lle7-9e0c-00163e4fde29:l-10r 5fe70ca9-3fab-lle7-bc48-00163e4fde29:l-61r 799ef59c-4126-lle7-83ce-00163e407cfb:1-270345, 8440023c-3f9f-lle7-8f52-00163e4fde29:1-10Finished dump at: 2017-05-31 15:49:18使用myloader工具进行备份恢复。

注意:这里是将数据恢复到用作恢复用途的服务器 上的数据库实例中,而不是恢复到备份源服务器上的数据库实例中的如果已经有复制信息,那么先停止复制并清理复制信息,然后执行导入(导入数据时可能会报出错误,如果是来自 sys schema的错误,那么可以忽略)(root01 oca Ihos t mydumper ] # myloader --def aults-f ile=/homG/mysql/eonf/myl. cnf -o -h\ 10.10.30.217 -u admin -p password -t 16 -d /data/backup/mydun^>er当导入完成之后,登录到数据库中校验数据如果需要搭建主从复制架构,那么可以登录到恢复服务器上的数据库中,执行如下操作:作:mysql> reset master;Query OK, 0 rows affected (0.04 sec)mysql> set global gtid_purged=* 2016f827-2d98-lle7-bble-00163e407cfb:1-1878711, 402872e0-33bd-lle7-8e8d-00163e4fde29:1-180732r4e5fb89f-3fa9-lle7-9e0c-00163e4fde29:1-10, 5fe70ca9-3fab-lle7-bc48-00163e4fde29:1-61z799ef59c-4126-lle7-83ce-00163e407cfb:1-286350, 8440023c-3f9f-lle7-8f52-00163e4fde29:l-10•;Query OK, 0 rows affected (0.00 sec)mysql> change master to master_host='10.10.30.241'rmaster_user=1qfsys•,master__ password^1password1,master_log_file= * mysql-bin.000012,zniaster_log_pos=9494175;Query OK, 0 rows affected/ 2 warnings (0.05 sec)mysql> start slave;Query OK, 0 rows affected (0.01 sec)mysql> show slave status\GSlave_IO_Running: YesSlave_SQL_Running: Yes2.单表备份与恢复在恢复服务器上,在远程备份源实例中,使用mydumper工具备份sbtest库下的sbtestl 和 sbtest2 表:[root@localhost [root@localhost [root@localhost (root@localhost [root@localhostmydumper]# mydumper]# mydumper]# mydumper]# mydumper]#mkdir /data/backup/mydunqper/ -p cd /data/backup/myduxqper/ rm -f * mydumper --defaults-file=/home/mysql/conf/f -G -E\-R --skip-tz-utc --complete-insert -h 10.10.30.241 -u admin -p password -t 16 -B sbtest -T\ sbtestl,sbtest2 -o /data/backup/mydumper查看备份文件,可以看到仍然有记录binlog pos和GTID集合的元数据文件、记录建库 语句的sbtest-schema-create.sql文件和记录表DDL和DML语句的dbname.tbname*.sql文件。

[root@ local host mydumper] # 11 total 3560296-rw-r--r---rw-r-r--11rootrootroot root759431MayMay313118:2518:21metadatasbtest.sbtestl-schema ・ sql-rw-r-r-1rootroot1822905389May。

下载提示
相似文档
正为您匹配相似的精品文档