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等等,这里不作详细介绍.这里将只介绍在数据库被修改后,如果恢复到被修改前状态的方法. 具体和上面 ...
随机推荐
- [Linux] Linux C编程一站式学习 Part.2
C语言本质 计算机中数的表示 浮点数:符号位+指数部分(2的多少次方)+尾数部分(小数点后的数字) 用偏移的指数(Biased Exponent)表示负指数 正规化(Normalize):尾数部分最高 ...
- 【转载】linux 安装 中文输入法 Fcitx 手动
在 Linux(测试版)中安装中文输入法 由于一些原因,目前在 Linux(测试版)中无法调用系统的输入法,故需要安装第三方输入法为 Linux(测试版)中的应用提供中文输入支持.本文档旨在介绍第三方 ...
- 嵌入式Boa服务器上CGI开发-(转自Bryce.Xiao)
嵌入式WEB服务器常见的有lighttpd shttpd thttpdboa mathopd minihttpdappwebgoahead=============================== ...
- selenium多表单切换以及多窗口切换、警告窗处理
selenium表单切换 在做UI自动化,有时候要定位的元素属性在页面上明明是唯一的.却怎么也不执行对元素的操作动作,这时候多半是iframe表单在作怪. 切入表单:iddriver.switch_t ...
- Jsoup_Select 选择器
Jsoup_Select 选择器 一,概述 可直接解析某个 URL 地址.HTML 文本内容.它提供了一套非常省力的 API,可通过 DOM,CSS 以及类似于 jQuery 的操作方法来取出和操作数 ...
- 使用python实现钉钉告警通知功能
前言:日常工作中告警通知是必不可少的,一般会使用邮件.钉钉.企业微信等,今天分享一下使用python实现钉钉告警 一. 钉钉机器人创建 登录钉钉客户端,创建一个群,把需要收到报警信息的人员都拉到这个群 ...
- Wrong——Python
1.向MySQL中插入时间(年月日时分秒),在时分秒处报错.在年月日与时分秒中间有个空格.解决办法:在sql语句中时间用一个" "包起来就可以了.. 2.在Ubuntu的cront ...
- PHP转JAVA开发30分钟实战攻略
服务端开发中,有很多知识是相通的,例如mysql,redis,http协议等. 基于这些基础,在编程语言上的转变并不困难. 本文主要从下面几点出发,讲述如何快速从php开发转为java开发: 使用框架 ...
- 域名更换为itwxe.com
域名 uukongjian.com 更换为 itwxe.com,笔名 SunnyBear 更改为 IT王小二. 一.前言 4 月 21 号域名备案通过,开始折腾新买的服务器,本来这篇文章在 5 月 1 ...
- App元素定位三种方法
来自博客: http://testingpai.com/article/1595507262082 以下方法操作前必须确保有手机设备连入电脑,检测是否有手机连入命令 adb devices 第一种:A ...