mysql主节点down机后如何恢复操作
1 停机维护
(1) 先停止上层应用
(2) 检查backup和slave的中继日志是否已经完成了回放及gtid_executed保持一致
mysql> show slave status\G;
Slave_SQL_Running_State: Slave has read all relay log; waiting for more updates mysql> show global variables like "%gtid%";
+----------------------------------+---------------------------------------------------------------------------------------+
| Variable_name | Value |
+----------------------------------+---------------------------------------------------------------------------------------+
| binlog_gtid_simple_recovery | ON |
| enforce_gtid_consistency | ON |
| gtid_executed | 7b59201e-1696-11eb-ab21-000c29b9ac88:1-23,
aa7489a2-1694-11eb-9b82-000c299c9831:1-891 |
| gtid_executed_compression_period | 1000 |
| gtid_mode | ON |
| gtid_owned | |
| gtid_purged | 7b59201e-1696-11eb-ab21-000c29b9ac88:1-23,
aa7489a2-1694-11eb-9b82-000c299c9831:1-891 |
| session_track_gtids | OFF |
+----------------------------------+---------------------------------------------------------------------------------------+
8 rows in set (0.01 sec) (3) 关闭backup的keepalived
# systemctl stop keepalived 2 backup库
(1) xtrabackup 官方下载地址:
wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.20/binary/redhat/7/x86_64/percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm (2) 安装
# yum install percona-xtrabackup-24-2.4.20-1.el7.x86_64.rpm -y
# xtrabackup -v (3) 使用xtrabackup在线备份
# mkdir -p /mysql_backup/
# innobackupex -uroot -p"mysql5.7@2020" --stream=tar /mysql_backup/ 2>/tmp/result_backup.txt |gzip >/mysql_backup/`date +%F_%H-%M-%S`.tar.gz
# du -sh /mysql_backup/ (4) 将备份的主库发送到master库
# scp -rp /mysql_backup/*.tar.gz root@172.16.1.215:/root/ (5) 清除库的binlog和relay_log信息
mysql> stop slave;
mysql> reset slave;
mysql> reset master;
mysql> show global variables like "%gtid%"; (6) 启动keepalived
# systemctl start keepalived 3 原主库变从库操作
(1) 解压备份包
# cd /root/
# mkdir -p /root/mysql_data && cd /root/mysql_data
# tar -xzf /root/*.tar.gz
# ls -l /root/mysql_data/ (2) 回滚事务日志
# innobackupex --apply-log --redo-only /root/mysql_data/
# ls -l /root/mysql_data/
# systemctl stop mysqld
# rm -rf /usr/local/mysql/data/ (3) 修改my.cnf文件
# vim /etc/my.cnf
[mysqld]
slave-skip-errors=1007,1022,1050,1062,1169
relay-log=/usr/local/mysql/data/relay-log
max_relay_log_size=512M
relay-log-purge=ON
slave-parallel-type = LOGICAL_CLOCK
slave-parallel-workers = 8
master-info-repository = TABLE
relay-log-info-repository = TABLE (4) 还原库
# innobackupex --defaults-file=/etc/my.cnf --copy-back /root/mysql_data/ 2>/tmp/result_restore.txt (5) 启动数据库
# chown -R mysql.mysql /usr/local/mysql/
# systemctl start mysqld.service
# cat /usr/local/mysql/data/auto.cnf
[auto]
server-uuid=bef5754b-9aaf-11eb-9902-000c2961b826 (6) 启动复制线程
mysql> reset slave;
mysql> reset master; mysql> CHANGE MASTER TO
MASTER_HOST='172.16.1.215',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='repl@2020',
MASTER_AUTO_POSITION=1; mysql> start slave;
mysql> show slave status\G; (7) 启动keepalived
# systemctl start keepalived 4 slave 库操作
mysql> stop slave;
mysql> reset slave;
mysql> reset master;
mysql> show global variables like "%gtid%"; mysql> CHANGE MASTER TO
MASTER_HOST='172.16.1.203',
MASTER_PORT=3306,
MASTER_USER='repl',
MASTER_PASSWORD='repl@2020',
MASTER_AUTO_POSITION=1; mysql> start slave;
mysql> show slave status\G;
mysql主节点down机后如何恢复操作的更多相关文章
- Linux下误删除后的恢复操作(ext3/ext4)
Linux是作为一个多用户.多任务的操作系统,文件一旦被删除是难以恢复的.尽管删除命令只是在文件节点中作删除标记,并不真正清除文件内容,但是其他用户和一些有写盘动作的进程会很快覆盖这些数据.在日常工程 ...
- 记一次 oracle 数据库在宕机后的恢复
系统:redhat 6.6 oracle版本: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production 问题描述: ...
- Qt编译mysql以及创建表后进行导入操作
鉴于很多同学对Qt编译myql总是不能成功.出现各种问题,今天特此写出本教程,希望可以帮到须要的同学. 首先,须要明确编译的目的和原理. 目的:Qt 5.2版本号曾经都是不带mysql驱 ...
- Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录
在日常的linux运维工作中,大数据量备份与还原,始终是个难点.关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具innobackupex.innobacku ...
- 实验:zk master宕机后,临时节点在新的master上是否存在,结果出人意料
一.实验 实验说明:3台zk集群,主要验证:master上的客户端,在master上建立临时节点,当master宕机时,其他follower选为主后,临时节点是否存在. 主要是通过此来验证,基于zk的 ...
- mysql group replication 主节点宕机恢复
一.mysql group replication 生来就要面对两个问题: 一.主节点宕机如何恢复. 二.多数节点离线的情况下.余下节点如何继续承载业务. 在这里我们只讨论第一个问题.也就是说当主结点 ...
- MySQL 系列(四) 主从复制、读写分离、模拟宕机、备份恢复方案生产环境实战
本章内容: 主从复制 简介原理 备份主库及恢复从库,配置从库生效 读写分离 如果主宕机了,怎么办? 双主的情况 MySQL 备份及恢复方案 备份单个及多个数据库 mysqldump 的常用参数 如何增 ...
- mysql undo 和redo 被误删除的恢复操作(一致性)
今天在群里看到有人说不熟悉innodb把ibdata(数据文件)和ib_logfile(事务日志)文件误删除了.不知道怎么解决.当时我也不知道怎么办.后来查阅相关资料.终找到解决方法.其实恢复也挺简单 ...
- MySQL数据库的自动备份与数据库被破坏后的恢复(3)
[2] 当数据库被修改后的恢复方法 数据库被修改,可能存在着多方面的原因,被入侵.以及相应程序存在Bug等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面 ...
随机推荐
- Fio 输出内容的解释
Fio 输出内容的解释 feilianbb 2016-01-11 16:18:54 27828 收藏 19 文章标签: Linux 存储 Fio SSD 性能 翻译原文来源 https://t ...
- 攻防世界(六)supersqli
攻防世界系列:supersqli 方法一: 用逗号包裹回显正常,说明存在注入 1';--+(注释符也可用 -- 或 # 发现均未被过滤!) 有order by 语句可知表由2个字段,使用联合查询 (想 ...
- Elasticsearch + Logstash + Kibana +Redis +Filebeat 单机版日志收集环境搭建
1.前置工作 1.虚拟机环境简介 Linux版本:Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:2 ...
- LTC4020
今天凯哥说他之前有一块电池放电低于20V了 然后接上4020后 会先浮充 涓流充 大约200ma 充过了20V后又是4A了
- SSH工作过程简介和SSH协议算法集简介
SSH简介 SSH是Secure Shell(安全外壳)的简称,是一种在不安全的网络环境中,通过加密机制和认证机制,实现安全的远程访问以及文件传输等业务的网络安全协议. SSH协议采用了典型的客户端/ ...
- http keep-alive 的一些理解
在日常的工作中涉及到了关于检测用户是否在线的功能需求,在方案设计过程中考虑过使用http-keepalive的方式,由于我们获取到的keepalive是经过nginx转发的keep-alive,所以最 ...
- LogBack 日志等级设置无效,原因竟然是因为这个?!
Hello,大家好,我是楼下小黑哥~ 最近被公司派去北京出差,本以为是个轻松的差事,北京一周游~ 但是没想到第一天就是九点半下班, 大意了~ 好了,回到正题,今天来讲下最近调试项目的时候发现的一个 L ...
- SQLZOO
一.SELECT basics/zh 以顯示德國 Germany 的人口. select population from world where name = 'Germany'; 查詢面積為 5,0 ...
- Cisco Catalyst 9800-CL Wireless Controller for Cloud
面向云的思科 Catalyst 9800-CL 无线控制器,专为基于意图的网络全新打造. 版本: C9800-CL-universalk9.17.04.01 (29-Nov-2020) C9800-C ...
- Ascend Pytorch算子适配层开发
Ascend Pytorch算子适配层开发 适配方法 找到和PyTorch算子功能对应的NPU TBE算子,根据算子功能计算出输出Tensor的size,再根据TBE算子原型构造对应的input/ou ...