用XtraBackup实现MySQL的主从复制快速部署【主不锁表】

php中文网
发布: 2016-06-07 17:21:04
原创
1052人浏览过

XtraBackup开源,热备份,不锁表,支持innodb,支持部分数据的备份(比如只备份某数据库中的某个表),高性能,备份时对系统的负

四种常用的mysql备份工具,各有缺点:

0 tar
缺点:不支持热备份,要关闭mysqld服务器再进行备份。恢复时也必须关闭mysqld。
1 mysqldump
缺点:MySQL自己提供的mysqldump是把数据转换为SQL语句,这种方式的效率比较低,备份和还原的速度都很慢,而且在dump过程中为了保证数据一致性,任何数据插入和更新操作都会被挂起。
 2 ibbackup
缺点:付费。
3 LVM
缺点:这种方法是利用的逻辑卷的 镜像 功能对整个分区进行在线备份,这种备份数据量大,而且备份性能低下。

4 Percona的XtraBackup。
XtraBackup开源,热备份,不锁表,支持innodb,
支持部分数据的备份(比如只备份某数据库中的某个表),,
高性能,备份时对系统的负载影响较小。
通过tar4ibd 可直接生成压缩之后的备份文件,
支持增量备份!
有时间点的概念,可与mysql binary log配合。

官网的详解~?id=percona-xtrabackup:start

简明的步骤~

步骤

1. Master:/etc/my.cnf

加上 datadir=/~~~~~~

server-id

log-bin

2. Slave:/etc/my.cnf

server-id=2

datadir=/var/lib/mysql

 

标贝AI虚拟主播
标贝AI虚拟主播

一站式虚拟主播视频生产和编辑平台

标贝AI虚拟主播 15
查看详情 标贝AI虚拟主播


3. Master:在master数据库设置用来同步的slave用户权限

 


GRANT REPLICATION SLAVE ON *.* TO ''@''  IDENTIFIED BY '';

 


4. Master:导出数据到slave


采用xtrabackup来备份mysql,好处是在master的锁表时间很短,在实际的生产环境也可以使用,并且xtrabackup会自动记录同步日志文件的位置。

 


innobackupex-1.5.1 --stream=tar /tmp/ | ssh "mkdir /tmp/db; tar xfi - -C /tmp/db/"

这个步骤会把master的数据包括表结构整个导出并压缩复制给slave,同时解压到slave的/tmp/db目录下。

 


5. Slave:导入数据到slave


innobackupex-1.5.1 --apply-log /tmp/db

innobackupex-1.5.1 --copy-back /tmp/db

chown -R mysql.mysql /var/lib/mysql/*

6. Slave:开始同步数据

 


查看/var/lib/mysql/xtrabackup_binlog_info,获得日志文件以及position。

 


CHANGE MASTER TO

MASTER_HOST='',

MASTER_USER='',

MASTER_PASSWORD='',

MASTER_LOG_FILE='',

MASTER_LOG_POS=;

 


START SLAVE;

linux

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号