50.4.1 安装mydumper
[root@localhost yum.repos.d]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# cat CentOS6-Base-163.repo
......
[base]
name=CentOS-6 - Base - 163.com
baseurl=http://mirrors.163.com/centos/6/os/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#released updates
[updates]
name=CentOS-6 - Updates - 163.com
baseurl=http://mirrors.163.com/centos/6/updates/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that may be useful
[extras]
name=CentOS-6 - Extras - 163.com
baseurl=http://mirrors.163.com/centos/6/extras/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-6 - Plus - 163.com
baseurl=http://mirrors.163.com/centos/6/centosplus/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
#contrib - packages by Centos Users
[contrib]
name=CentOS-6 - Contrib - 163.com
baseurl=http://mirrors.163.com/centos/6/contrib/$basearch/
#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-6
# Centos
[root@localhost yum.repos.d]# yum install glib2-devel mysql-devel zlib-devel pcre-devel\ cmake -y
[root@localhost yum.repos.d]# rpm -e mysql-5.1.73-8.el6_8.x86_64 --nodeps
# Ubuntu
[root@localhost~]# apt-get cmake make install libglib2.0-dev libmysqlclient15-dev\ zlib1g-dev libpcre3-dev g++
# susu
[root@localhost~]# zypper install glib2-devel libmysqlclient-devel pcre-devel\ zlib-devel
# mac
[root@localhost~]# port install glib2 mysql5 pcre
[root@localhost~]# wget https://launchpad.net/mydumper/0.9/0.9.1/+download/mydumper-\ 0.9.1.tar.gz
[root@localhost~]# ll
......
[root@localhost~]# unzip mydumper-master.zip
......
[root@localhost~]# cd mydumper-master
[root@localhost mydumper-master]# cmake .
......
[root@localhost mydumper-master]# make
......
[100%] Built target myloader
[root@localhost mydumper-master]# echo $?
0
[root@localhost mydumper-master]# make install
......
[root@localhost mydumper-master]# echo $?
0
[root@localhost mydumper-master]# ll my*
......
[root@localhost mydumper-master]# cp -ar mydumper myloader /usr/bin/
[root@localhost mydumper-master]# ln -s /home/mysql/ program/lib/libmysqlclient.so.20\ /usr/lib64/
50.4.2 备份与恢复
[root@localhost mydumper-master]# mkdir /data/backup/ mydumper -p
[root@localhost mydumper-master]# cd /data/backup/mydumper/
[root@localhost mydumper]# rm -rf *
# 执行备份
[root@localhost mydumper]# mydumper --defaults-file=/home /mysql/conf/my1.cnf -G -E –R\ --skip-tz-utc --complete-insert -h 10.10.30.241 -u admin -p password -t 16 –o\ /data/backup/mydumper
# 当备份完成后,查看备份目录下的备份文件
[root@localhost mydumper]# ll /data/backup/mydumper/sbtest*
......
# 建库语句
[root@localhost mydumper]# cat sbtest-schema-create.sql
CREATE DATABASE `sbtest` /*!40100 DEFAULT CHARACTER SET utf8 COLLATE utf8_bin */;
# 建表语句
[root@localhost mydumper]# cat sbtest.sbtest1-schema.sql
/*!40101 SET NAMES binary*/;
/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
CREATE TABLE `sbtest1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`k` int(10) unsigned NOT NULL DEFAULT '0',
`c` char(120) COLLATE utf8_bin NOT NULL DEFAULT '',
`pad` char(60) COLLATE utf8_bin NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
KEY `k_1` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=18554580 DEFAULT CHARSET=utf8 COLLATE=utf8_bin MAX_ROWS=1000000;
# DML的INSERT语句
[root@localhost mydumper]# head -10 sbtest.sbtest1.sql
/*!40101 SET NAMES binary*/;
/*!40014 SET FOREIGN_KEY_CHECKS=0*/;
INSERT INTO `sbtest1` (`id`,`k`,`c`,`pad`) VALUES
(2,2481885,"08566691963-88624912351-16662227201-46648573979-64646226163-77505759394-75470094713-41097360717-15161106334-50535565977","63188288836-92351140030-06390587585-66802097351-49282961843"),
(4,2435986,"95969429576-20587925969-20202408199-67602281819-18293380360-38184587501-73192830026-41693404212-56705243222-89212376805","09512147864-77936258834-40901700703-13541171421-15205431759"),
......
# binlog pos和GTID 集合
[root@localhost mydumper]# cat metadata
Started dump at: 2017-05-31 15:45:45
SHOW MASTER STATUS:
Log: mysql-bin.000012
Pos: 3520150
GTID:2016f827-2d98-11e7-bb1e-00163e407cfb:1-1878711,
402872e0-33bd-11e7-8e8d-00163e4fde29:1-180732,
4e5fb89f-3fa9-11e7-9e0c-00163e4fde29:1-10,
5fe70ca9-3fab-11e7-bc48-00163e4fde29:1-61,
799ef59c-4126-11e7-83ce-00163e407cfb:1-270345,
8440023c-3f9f-11e7-8f52-00163e4fde29:1-10
SHOW SLAVE STATUS:
Host: 10.10.30.250
Log: mysql-bin.000002
Pos: 234
GTID:2016f827-2d98-11e7-bb1e-00163e407cfb:1-1878711,
402872e0-33bd-11e7-8e8d-00163e4fde29:1-180732,
4e5fb89f-3fa9-11e7-9e0c-00163e4fde29:1-10,
5fe70ca9-3fab-11e7-bc48-00163e4fde29:1-61,
799ef59c-4126-11e7-83ce-00163e407cfb:1-270345,
8440023c-3f9f-11e7-8f52-00163e4fde29:1-10
Finished dump at: 2017-05-31 15:49:18
# 如果已经有复制信息,则先停止复制并清理复制信息,然后执行导入(导入数据时可能会报出错误,如果是来自sys schema的错误,则可以忽略)
[root@localhost mydumper]# myloader --defaults-file=/home/mysql/conf/my1.cnf -o –h\ 10.10.30.217 -u admin -p password -t 16 -d /data/backup/mydumper
mysql> reset master;
Query OK, 0 rows affected (0.04 sec)
mysql> set global gtid_purged='2016f827-2d98-11e7-bb1e-00163e407cfb:1-1878711,\ 402872e0-33bd-11e7-8e8d-00163e4fde29:1-180732,4e5fb89f-3fa9-11e7-9e0c-00163e4fde29:1-10,\ 5fe70ca9-3fab-11e7-bc48-00163e4fde29:1-61,799ef59c-4126-11e7-83ce-00163e407cfb:1-286350,\ 8440023c-3f9f-11e7-8f52-00163e4fde29:1-10' ;
Query OK, 0 rows affected (0.00 sec)
mysql> change master to master_host='10.10.30.241', master_user='qfsys',master_\ password='password',master_log_file='mysql-bin.000012',master_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\G
......
[root@localhost mydumper]# mkdir /data/backup/mydumper/ -p
[root@localhost mydumper]# cd /data/backup/mydumper/
[root@localhost mydumper]# rm -f *
[root@localhost mydumper]#
[root@localhost mydumper]# mydumper --defaults-file=/home/mysql/conf/my1.cnf -G –E\ -R --skip-tz-utc --complete-insert -h 10.10.30.241 -u admin -p password -t 16 -B sbtest –T\ sbtest1,sbtest2 -o /data/backup/mydumper
[root@localhost mydumper]# ll
......
mysql> create database sbtest_test;
Query OK, 1 row affected (0.00 sec)
mysql> show databases;
......
10 rows in set (0.00 sec)
[root@localhost mydumper]# myloader --defaults-file= /home/mysql/conf/my1.cnf -o -h\ 10.10.30.241 -u admin -p password -t 16 -B sbtest_test -s sbtest -d /data/backup/mydumper
mysql> use sbtest_test;
Database changed
mysql> show tables;
......
2 rows in set (0.00 sec)
mysql> select * from sbtest1 limit 1;
......
1 row in set (0.00 sec)
[root@localhost mydumper]# mydumper --defaults-file=/home/mysql/conf/my1.cnf -G –E\ -R -D -L /var/log/mydumper.log -I 60 --skip-tz-utc --complete-insert -u admin -p password\ -h 10.10.30.241 -C -o /data/backup/mydumper
[root@localhost mydumper]# ps aux |grep mydumper
......
[root@localhost mydumper]# ll
total 20
drwx------ 2 root root 16384 Jun 1 00:42 0
drwx------ 2 root root 6 Jun 1 00:40 1
[root@localhost mydumper]# du -sh 0
3.4G 0
上一篇:第49章 MySQL主流备份工具之XtraBackup详解 | 下一篇:第51章 MySQL主流闪回工具详解