XtraBackup做mysql主从同步
一、背景:
线上一个主库压力比较大,所以增加一个从库,但是不能重启或者停止主库的正常运行,不能锁库锁表影响业务的正常运行。所以这里想到了XtraBackup
二、XtraBackup介绍:
1
、备份完成快速、可靠
2
、备份期间不间断的事务处理
3
、节省磁盘空间和网络带宽
4
、自动备份验证
5
、提高正常运行时间由于更快的恢复时间
备份INNODB引擎的数据库不会锁库锁表,但是备份MyISAM的表还是会锁的,还支持增量备份。
官方地址:
https://www.percona.com/
三、环境说明
四、安装XtraBackup
安装在主库上
# yum install perl-Time-HiRes # yum install perl-DBD-MySQL -y # yum install perl-Digest-MD5 -y # wget https://www.percona.com/downloads/XtraBackup/XtraBackup-2.2.9/binary/redhat/7/x86_64/percona-xtrabackup-2.2.9-5067.el7.x86_64.rpm# rpm -ivh percona-xtrabackup-2.2.9-5067.el7.x86_64.rpm
五、主库主从配置
1.主库配置/etc/my.cnf
增加server-id 和 bin-log # vim /etc/my.cnf server-id = 128 log-bin = mysql-bin
2.主库配置授权账号
mysql> grant replication slave on *.* to rep@'192.168.199.183' identified by '123'; mysql> flush privileges;
3.手动设置主库server-id和log-bin 参数
set global server_id=128
因为这两个参数是动态参数,不用重启主库也可以生效 如果你的主库已经设置这两个参数,请忽略这一步操作
六、从库主从配置
从库安装步骤略
1.从库配置/etc/my.cnf
增加server-id 和 bin-log # vim /etc/my.cnf server-id = 129 #如果需要在从库上做bin-log备份可以添加如下参数 log-bin = mysql-bin log-slave-updates = 1 expire-logs-days=10
七、备份主库数据
1.主库机器上创建备份目录
# mkdir -p /backup/full_data
2.执行全库备份
2.1.备份
# innobackupex --defaults-file=/etc/my.cnf --user=root --password=123 --socket=/tmp/mysql.sock /data/backup/full_data PS:备份完成后,会在/backup/full_data/目录下生成一个时间点的目录,这里是2016-07-14_05-19-52。你也可以加一个--no-timestamp参数不产生这个目录,直接备份到/backup/full_data/目录下
2.2.重放redo log
#下面preparing,undo撤销未提交的事务,重放redo log # innobackupex --defaults-file=/etc/my.cnf --user=root --password=123 --apply-log --socket=/tmp/mysql.sock /data/backup/full_data/2016-07-14_05-19-52
ps:1、ls -l /data/backup/full_data/2016-07-14_05-19-52/查看,你发现xtrabackup会把你数据库datadir下的所有数据 文件都复制过来还新增了5个xtrabackup_开头的文件,我们关心的是xtrabackup_binlog_info这个文件,因为这个文件里面记 录了你做从库需要change到主库的binlog的位置和pos点
2、如果只想备份一个库,加“--include=navy”指定库名即可, “--databases=navy”不好使。
八、恢复数据到从库
1.停止从库
# /etc/init.d/mysqld stop
2.把主库备份文件拷贝到从库机器
# scp -ap /data/backup/full_data/2016-07-14_05-19-52 root@192.168.11.129:/data/mysql/
3.修改恢复文件权限
# chown -R mysql:mysql /data/mysql/
4.启动数据库
# /etc/init.d/mysqld start
5.确认数据是否恢复成功
登录从库,执行show databases;
6.确认同步的位置点
在从库上或者主库上都可以查看该信息,我们是在从库上查看
# cat /data/mysql/xtrabackup_binlog_info mysql-bin.000016 4542174
九、开始主从同步
1.配置从库 主从配置
#登录从库并执行
mysql > CHANGE MASTER TO MASTER_HOST='192.168.199.182',MASTER_USER='rep', MASTER_PASSWORD='123',MASTER_LOG_FILE='mysql-bin.000016', MASTER_LOG_POS=4542174;
2.开始同步
mysql> start slave;
3.查看同步状态
mysql> show slave status\G
转载于:https://www.cnblogs.com/pangguoping/p/5746087.html
XtraBackup做mysql主从同步相关推荐
- 利用XtraBackup做mysql不停机重做主从复制
不停机做mysql主从同步,可以使用mysqldump,但是这个效率比较低,利用XtraBackup来实现这个,效率比较高! 一 xtrabackup安装: yum -y install perl p ...
- mysql主从同步从库上Slave_IO_Running: Connecting问题
mysql主从同步从库上Slave_IO_Running: Connecting问题 一.在做主从同步时遇到的问题 数据库主从问题从库上Slave_IO_Running: Connecting 在做m ...
- 项目性能优化(MySQL读写分离、MySQL主从同步、Django实现MySQL读写分离)
当项目中数据库表越来越多,数据量也逐渐增多时,需要做数据库的安全和性能的优化.对于数据库的优化,可以选择使用MySQL读写分离实现. 1.MySQL主从同步 1.主从同步机制 1.1.主从同步介绍和优 ...
- MySQL主从同步问题集
http://blog.chinaunix.net/uid-8786588-id-3771613.html 在InnoDB引擎下发现,Mysql的主从热备存在数据不一致的问题,一些数据没有成功同步到备 ...
- mysql主从同步linux,linux中部署mysql主从同步示例详解(绝对经典,看了必会)
准备两台服务器并安装MySQL5.7 master服务器 192.168.254.132 slave服务器 192.168.254.136 确保两台服务器安装的mysql版本一致,本测试使用的是mys ...
- 基于mysql主从同步的proxy读写分离
mysql-proxy 简介 MySQL Proxy是一个处于你的client端和MySQL server端之间的简单程序,它可以监测.分析或改变它们的通信.它使用灵活,没有限制,常见的用途包括:负载 ...
- mysql 主从同步不一致_涨知识!MySQL 主从同步原理原来是这样的
什么是 MySQL 主从同步 当 master(主)库的数据发生变化的时候,变化会实时的同步到slave(从)库. 主从同步有什么好处 水平扩展数据库的负载能力 容错,高可用.Failover/Hig ...
- DBA(三):MySQL主从同步、复制模式
MySQL主从同步 主从同步概述 MySQL主从同步 主从同步介绍 实现数据自动同步的服务结构 主服务器:接受客户端访问连接 从服务器:自动同步主服务器的数据 主从同步的工作原理 主库有1个线程叫du ...
- mysql主从同步_utf8_MySQL主从同步
MySQL主从同步 特别提醒: 做主从前最好在数据库尚未创建的时候做,如果已经创建了.可以将原来数据导出,等建立好主从以后在主上面导入即可让数据同步 1.环境 主数据库 IP:10.5.100.15 ...
最新文章
- 怎样在设计中添加FIFO宏模块
- ios 自定义拍照页面_无需解锁也能使用的iOS实用小组件
- mysql binlog oplog_mongodb 学习之oplog
- 优化您的ApplicationContext
- 前端学习(2169):vue-router安装和配置方式
- 用Android Stuidio开发Flutter
- 华为一则面试题登上热搜;大众点评会员因点赞过多被处罚;Linux Kernel 5.12 发布|极客头条...
- 大数据时代 银行信息安全如何防护?
- C# winform如何设置ListBox背景图或者透明背景及边框色
- 用python调用ICTCLAS50进行中文分词
- 终于解决华硕电脑触摸板的关闭问题
- GB28181之国标编码规则
- vr全景接口_制作面向业务的VR接口
- 手把手 VM虚拟机安装deepin系统
- 买到招行CMP1一天赚90
- ATX结合Maxim实现多设备并行执行压力测试(AUI自动化测试框架)
- Android压缩包下载解压
- 数论作业 —— 同余理论
- JAVAC 运行报错‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件
- 30岁以上,没人脉、没资源、工作不顺心、更没钱,这4个小生意,拿去就可以干,只要你肯努力,就可以翻身
热门文章
- lol什么服务器出无限活力,《LOL》无限火力模式什么时候出 无限火力模式上线时间一览...
- Discuz!UCenter创始人密码重置方法
- jQuery 动感的横向柱状形投票统计图
- 爬虫:通过滑动或者点触验证码的方法及实现(点触+滑动)
- Volatile 关键字 内存可见性
- FastStone Capture
- 读取工作流程中的表单物件
- saltstack配置管理之YAML(二)
- 【Codeforces Round #430 (Div. 2) D】Vitya and Strange Lesson
- iptables一次性封多个ip,使用ipset 工具