基础环境:

OS:Red Hat Enterprise Linux Server release 7.6 (Maipo)

mysql:Percona版(5.7.29最新,可选mysql8)

主从都装相同的版本,安装可参考前篇

https://blog.51cto.com/6464430/2479808

原版文档

https://www.percona.com/doc/percona-xtrabackup/2.1/howtos/setting_up_replication.html

主IP:192.168.100.1

备IP:192.168.100.2

操作步骤:

1、安装percona-xtrabackup工具最新版

# yum install percona-xtrabackup-24

2、创建备份目录

# mkdir /opt/mysql/mysql_backup

修改目录属组

# chown -R mysql:mysql /opt/mysql/mysql_backup

3、在主机上将数据库进行备份

# innobackupex --user = root --password = ‘******’ /opt/mysql/mysql_backup/

出现报错

Failed to connect to MySQL server: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2).

因为我们修改了默认的目录,因此需要修改下配置文件

加个参数--defaults-file=/etc/my.cnf

# innobackupex --defaults-file=/etc/my.cnf --user = root --password = ‘******’ /opt/mysql/mysql_backup/

又报一个错:

Failed to connect to MySQL server: DBI connect(';mysql_read_default_group=xtrabackup','root',...) failed: Access denied for user 'root'@'localhost' (using password: YES) at - line 1314.

需要制定本地地址,加参数 --host=127.0.0.1

# innobackupex --defaults-file=/etc/my.cnf --user = root --password = ‘******’ --host=127.0.0.1 /opt/mysql/mysql_backup/

执行完应该看到 completed OK!

4、为了使快照一致,再执行一个命令(同步数据 回滚未提交的事务及同步已经提交的事务至数据文件,使得数据文件处于一致性状态)

# innobackupex --defaults-file=/etc/my.cnf --user = root --password = ‘******’ --host=127.0.0.1 --apply-log /opt/mysql/mysql_backup / $ TIMESTAMP /

/ $ TIMESTAMP / 代表步骤3中的文件目录

5、将备份的数据复制到备机

# rsync -avpP -e ssh /opt/mysql/mysql_backup / $ TIMESTAMP 192.168.100.2:/opt/mysql/mysql_backup

6、停止备机的mysql

# systemctl stop mysqld.service

7、备份备机原有的datadir

# mv mysql_data/ mysql_data_bak

8、将步骤5同步过来的主机数据同步到datadir下并确保mysql有相关权限

# cp -rp /opt/mysql/mysql_backup /opt/mysql/mysql_data

# chown mysql:mysql -R /opt/mysql/mysql_data

9、配置主机(机器应该开启二进制同步及有唯一的服务id配置)

mysql>GRANT REPLICATION SLAVE ON *.* to 'repl'@'192.168.100.2' identified by '********';

有个小告警,可以先建用户repl就不会告警了

备机上执行

# mysql -urepl -p'*********' -host192.168.100.1

mysql>SHOW GRANTS;

可以看到授权

10、配置从机

拷贝主机的配置文件

# scp 192.168.100.1:/etc/my.cnf /etc/my.cnf

修改从机的server-id 为2

启动数据库

# systemctl start mysqld.service

11、开始复制

查看从机当前的日志

# cat /opt/mysql/mysql_dataxtrabackup_binlog_info

mybinlog.000008 194

从机执行

mysql>CHANGE MASTER TO MASTER_HOST = '192.168.100.1', MASTER_USER = 'REPL' , MASTER_PASSWORD = '********', MASTER_LOG_FILE = 'mybinlog.000008', MASTER_LOG_POS = 194;

启动备机:

mysql>START SLAVE;

12、检查

sql> SHOW SLAVE STATUS \G

...

Slave_IO_Running: Yes 应该为yes

Slave_SQL_Running: Yes 应该为yes

...

Seconds_Behind_Master: 13 表示当前同步的时间差

...

13、主从切换(正常情况下)

A、主库锁表,变为只读,避免日志同步不全

mysql> flush tables with read lock;

B、确保master所有的binlog已同步到slave,并且slave都已apply了所有的binlog

主:

mysql> show processlist;

备:

mysql> show processlist;

C、停止slave进程

从:

mysql> STOP SLAVE IO_THREAD;

mysql> show processlist;

D、确保从机开启bin_log且关闭read_only

mysql> show variables like 'read_only';

E、提示从机为主机:

mysql> stop slave;

mysql> reset master;

mysql> reset slave all;

mysql> show master status \G

F、新的主机需要建立同步帐户并赋予同步权限

mysql>GRANT REPLICATION SLAVE ON . to 'repl'@'192.168.100.1' identified by '****';

G、将原来的主切换从

mysql> reset master;

mysql>CHANGE MASTER TO MASTER_HOST='192.168.100.1',MASTER_USER='REPL',MASTER_PASSWORD='1qaz@WSX',MASTER_LOG_FILE='mybinlog.000001', MASTER_LOG_POS=154;

MASTER_LOG_FILE='mybinlog.000001', MASTER_LOG_POS=154 从步骤E获取

mysql> start slave;

mysql> show slave status\G

mysql主从 percona_mysql主从实现(percona-xtrabackup)相关推荐

  1. mysql 升级percona_MySQL Study之--Percona Server 5.5升级5.6

    系统环境: 操作系统:CentOS_6.5(64) MySQL:  Percona server 5.5(5.6) 一.升级的目的 为什么MySQL升级是必须的? 原因有很多,比如:为了使用新增的特性 ...

  2. percona mysql 主从_percona主从配置

    Percona 为MySQL数据库服务器进行了改进,在功能和性能上较 MySQL 有着很显著的提升.该版本提升了在高负载情况下的 InnoDB 的性能.为 DBA 提供一些非常有用的性能诊断工具:另外 ...

  3. Percona XtraBackup 关于 MySQL备份还原的详细测试

    Percona XtraBackup 关于 MySQL备份还原的详细测试 一. Percona XtraBackup 的优点. (1)无需停止数据库进行InnoDB热备: (2)增量备份MySQL: ...

  4. Percona Xtrabackup备份mysql大数据库(完整备份与增量备份)

    Percona Xtrabackup备份mysql大数据库(完整备份与增量备份) 文章目录 [隐藏] Xtrabackup简介 Xtrabackup安装 Xtrabackup工具介绍 innoback ...

  5. 监控mysql锁定状态_企业实战Mysql不停机维护主从同步

    实战环境: Mysql-5.7 Xtrabackup-2.4 Xtrabackup 介绍: Percona XtraBackup是一款基于MySQL的服务器的开源热备份实用程序,在备份过程中不会锁定数 ...

  6. 企业实战|Mysql不停机维护主从同步

    转载来源 :企业实战|Mysql不停机维护主从同步 : https://mp.weixin.qq.com/s/CQFmFhtRMFsESofDpTOvUA 实战环境: Mysql-5.7 Xtraba ...

  7. mysql不停机主从配置

    一.简介 mysql不停机主从有好几种方法,比如①使用xtrabackup做热备份定点继续读取二进制日志或者②使用oracle goldengate等方式进行 二.具体操作 个人博客:双月半的日常 三 ...

  8. 关于Linux下MySql集群同步(主从、一主多从、主从从)部署及同步策略的一些笔记

    写在前面 和小伙们分享一些Mysql集群主从同步相关的笔记 博文内容涉及: 为什么需要mysql集群主从同步 主从同步原理 部署不同主从结构的Mysql集群 同步使用的复制模式介绍配置 理解不足小伙伴 ...

  9. mysql 5.7 xbackup_CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup

    前言 CentOS 7 下 MySQL 5.7 配置 Percona Xtrabackup ,记录一下大致的安装和配置过程. Percona XtraBackup 的备份工具支持热备份(即不必停止 M ...

最新文章

  1. wordpress ajax 注册,WordPress注册AJAX事件,前台后台代码演示视频教程 - 悠然自学网...
  2. Rxjs 里 Subject 和 BehaviorSubject 的区别
  3. Java List面试题汇总
  4. 关于mysql内存表的一个帖子(转载)
  5. PHP框架编写和应用知识点,php框架知识点的整理和补充
  6. 为什么要使用信道复用技术?常用的信道复用技术有哪些?
  7. Android 如何在一个Activity中合理地显示多种类型的checkBox
  8. 虚拟机中centos7 安装过程中没有自动获取到网络
  9. ListView刷新,图片闪烁问题
  10. tp5restful API的搭建(2)
  11. 面向开发者的网站,真的是认真设计过的吗?
  12. 【安全】靶场实战-通过MS16-032提权
  13. Pearson 相关系数--最佳理解及相关应用
  14. windows改键软件——sharpkeys
  15. Excel Sheet页相关操作(21.10现代设计体验)
  16. python爬虫基本反爬
  17. html5中分镜图文脚本,抖音分镜脚本这样做 轻松打造100w+粉丝大号
  18. 实验四——恶意代码技术
  19. 【博学谷学习记录】超强总结,用心分享 | 架构师 Netty框架学习总结
  20. 面试知识点梳理一:概率论和线性代数

热门文章

  1. 【opencv】15.H265Decoder解码h265为cv::Mat完整代码
  2. 深度学习(DL)与卷积神经网络(CNN)学习笔记随笔-02-基于Python的卷积运算
  3. 教你怎么用WIN7系统自带工具调整硬盘分区
  4. 一些常见面试问题背后的逻辑是什么?
  5. 伪共享(False Sharing)
  6. 使用session监听+spring MVC拦截器禁止用户重复登录
  7. Python计算机视觉:第十章 OpenCV
  8. Coursera课程Python for everyone:chapter4
  9. 编程之美-从无头单链表中删除节点方法整理
  10. 数据结构与算法书籍推荐