Mysql实例使用mysqldump对MySQL的数据进行备份的操作教程
《Mysql实例使用mysqldump对MySQL的数据进行备份的操作教程》要点: MYSQL必读MySQL 自身的 mysqldump 工具支持单线程工作,依次一个个导出多个表,没有一个并行的机,这就使得它无法迅速的备份数据. MYSQL必读mydumper 作为一个实用工具,能够良好支持多线程工作,可以并行的多线程的从表中读入数据并同时写到不同的文件里,这使得它在处理速度方面快于传统的 mysqldump .其特征之一是在处理过程中需要对列表加以锁定,因此如果我们需要在工作时段执行备份工作,那么会引起 DML 阻塞.但一般现在的 MySQL 都有主从,备份也大部分在从上进行,所以锁的问题可以不用考虑.这样,mydumper 能更好的完成备份任务. MYSQL必读mydumper 特性
MYSQL必读mydumper 备份机制 MYSQL必读mydumper 工作流程图 MYSQL必读 MYSQL必读主要步骤概括
MYSQL必读所有的备份文件在一个目录中,目录可以自己指定 MYSQL必读如果是在从库进行备份,还会记录备份时同步至主库的二进制日志文件及写入位置 MYSQL必读每个表有两个备份文件:
MYSQL必读如果对表文件分片,将生成多个备份数据文件,可以指定行数或指定大小分片 MYSQL必读 MYSQL必读假设现有2台DB服务器,分别用于A业务与B业务,其中A业务比较重要,需要对A业务的1个DB(TaeOss)进行热备,大概有40G的数据,并用业务B的DB服务器作为备机,服务器分布如下: MYSQL必读
# yum install glib2-devel mysql-devel zlib-devel pcre-devel
# tar zxvf mydumper-0.6.2.tar.gz
# cd mydumper-0.6.2
# cmake .
# make
# make install
MYSQL必读? MYSQL必读 MYSQL必读由于DB是部署在比较老的SuSE Linux 10服务器上,安装mydumper时依赖的库比较多,会比较繁琐,同时采用本地备份的话,也会占用大量的磁盘I/O,所以我们选择在同网段的另一台centos 6.4(10.137.143.156)服务器进行备份. MYSQL必读
# mysql -uroot -e "grant all privileges on *.* to 'backup'@'10.137.143.156' identified by 'backup2015';"
# mysql -uroot -e "flush privileges;"
MYSQL必读? MYSQL必读
# mydumper -h 10.137.143.151 -u backup -p backup2015 -B TaeOss -t 8 -o /data/rocketzhang
MYSQL必读? MYSQL必读
# myloader -h 10.137.143.152 -u backup -p backup2015 -B TaeOss -t 8 -o -d /data/rocketzhang
MYSQL必读? MYSQL必读
# mysql -uroot -e "grant replication slave on *.* to 'repl'@'10.137.143.152' identified by 'repl123456';"
# mysql -uroot -e "flush privileges;"
MYSQL必读在“10.137.143.156”查看记录下的binlog信息: MYSQL必读 MYSQL必读在“10.137.143.152”如下操作: MYSQL必读
# vim /etc/my.cnf
……
replicate-do-table = TaeOss.%
replicate-wild-do-table = TaeOss.%
……
# service mysqld reload
# mysql -uroot -e "change master to master_host='10.137.143.151',master_user='repl',master_password='repl123456',master_log_file='mysql-bin.002205',master_log_pos=456584891;"
# mysql -uroot -e "start slave;"
# mysql -uroot -e "show slave statusG;"
MYSQL必读出现如下信息: MYSQL必读 MYSQL必读看来是存在主键冲突,导致主从复制失败. MYSQL必读
# mysqlbinlog --no-defaults -v -v --base64-output=DECODE-ROWS mysql-bin.002205 > mysql-bin.002205.txt
# grep -C 8 529864938 mysql-bin.002205.txt
MYSQL必读 MYSQL必读大概的意思是,在主DB上存在对t_evil_detect_uin_blacklist表的insert操作时,发生了主键冲突,当在从端进行同步的时候,也出现了主键冲突,从而导致主从同步失败. MYSQL必读
# mysqldump -uroot --opt TaeOss t_evil_detect_uin_blacklist > TaeOss.t_evil_detect_uin_blacklist.sql
MYSQL必读? MYSQL必读 MYSQL必读然后再导入: MYSQL必读
# mysql -uroot TaeOss < TaeOss.t_evil_detect_uin_blacklist.sql
# mysql -uroot -e "stop slave;"
# mysql -uroot -e "start slave;"
# mysql -uroot -e "show slave statusG;"
MYSQL必读 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |