1.延时同步概念

通过人为配置从库和主库延时N小时可以实现延时同步,延时同步可以解决数据库故障出现的数据丢失问题(物理损坏如直接使用rm删除数据库数据和逻辑损坏如使用drop命令删除数据库)

2.延时同步实操

2.1先配置从库延时同步,并且设置sql线程300秒后读取relay log

mysql> stop replica;
mysql> CHANGE REPLICATION SOURCE TO SOURCE_DELAY = 300;
mysql>start replica;
mysql> show replica status\G
SQL_Delay: 300   #在这里可以查看到延时时间已经设置为300秒
SQL_Remaining_Delay: NULL

2.2主库上创建库和表

#创建数据库为relay
mysql> create database relay;
mysql> use relay
#创建表
mysql> create table t1(id int);
mysql> insert into t1 values (1);
#删除表
mysql> drop database relay;

2.3从库上查看sql线程及找到误删数据的位置

#查看sql线程时间
mysql> show slave status \GSQL_Delay: 300SQL_Remaining_Delay: 279
#在sql线程延迟300秒时间内发现误删除数据库则立马停止从库的sql线程
mysql> stop slave sql_thread;
#找到误删前relay log的起点和终点
mysql> show replica status\GRelay_Log_File: slave1-relay-bin.000002Relay_Log_Pos: 323  #当前读取的relay日志的位置#输入以下命令,找到误删数据的位置
mysql> show relaylog events in "slave1-relay-bin.000002";

2.4从库进行备份,并解除从库身份变成主库

#将relay log进行备份
[root@rep1 mysql]# mysqlbinlog --start-position=323 --stop-position=1053  /data/mysql/slave1-relay-bin.000002 > /tmp/relay.sql#恢复误删除的数据库
[root@rep1 mysql]# mysql -uroot -p -e 'source /tmp/relay.sql'
#查看数据是否恢复
mysql> select * from relay.t1;
+------+
| id   |
+------+
|    1 |
+------+#解除从库身份
mysql> stop replica;
mysql> reset replica all;

2.5从库变主库,备份误删的库到/backup/jeams

[root@mysql-mster172 ~]# mkdir /backup
[root@mysql-mster172 ~]# mysqldump -uroot -p123 --all-databases  > /backup/jeams.sql
#scp传输过去
[root@mysql-mster172 ~]# scp /backup/jeams.sql 192.168.75.171:~

2.6将之前的主库给初始化,变为现在的从库

#删除之前mysql所存储的文件
[root@mysql-master171 ~]# rm -rf /data/mysql/*
#进行初始化
[root@mysql-master171 ~]# mysqld --initialize --user=mysql
#启动mysql
[root@mysql-master171 ~]# /etc/init.d/mysqld start
#登录mysql,在上一条会给出初始密码
[root@mysql-master171 ~]# mysql -uroot -poERi2Hf,7x.B
#修改密码为123,然后输入时会让添密码,这时再次输入给出的初始密码即可
[root@mysql-master171 ~]# mysqladmin -uroot -p password '123'
#将从新主库发送来的备份数据传输到mysql里
[root@mysql-master171 ~]#mysql -uroot -p < ~/jeams.sql
#查看库是否更新新主库里面的内容
[root@mysql-master171 ~]# mysql -uroot -p -e 'show databases;'
#登录密码为123即可
[root@mysql-master171 ~]# mysql -uroot -p123

2.7进入新主库创建账户

#登录mysql
[root@mysql-mster172 ~]# mysql -uroot -p123
#创建用户为rep并设置密码rep123,允许任何主机登录
mysql> create user 'rep'@'%' identified  by 'rep123';
#给用户rep权限
mysql> grant  replication slave on *.* to 'rep'@'%';
#查看权限
mysql>  show grants for 'rep'@'%';
+---------------------------------------------+
| Grants for rep@%                            |
+---------------------------------------------+
| GRANT REPLICATION SLAVE ON *.* TO `rep`@`%` |
+---------------------------------------------+

2.8旧主库进行从库的配置

2.8.1查看新主库的状态,即当前日志文件名和二进制日志偏移量

mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000008 |      324 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

2.8.2之前的旧主库进行新从库的配置

#登录mysql
[root@mysql-master171 ~]# mysql -uroot -p123
#设定从库向主库同步
mysql> CHANGE REPLICATION SOURCE TO-> SOURCE_HOST='192.168.75.172', #主库的ip地址-> SOURCE_USER='rep',            #主库mysql账户-> SOURCE_PASSWORD='rep123',     #主库mysql账户密码-> SOURCE_LOG_FILE='binlog.000008 ',  #主库的文件-> SOURCE_LOG_POS=324,              #主库的位置-> SOURCE_SSL=1; 
Query OK, 0 rows affected, 2 warnings (0.06 sec)mysql> start replica;
Query OK, 0 rows affected (0.01 sec)mysql> show replica status\G

3.测试

3.1在新主库创建库,并在新从库查看

新主库:

mysql> create database haha;
Query OK, 1 row affected (0.01 sec)

新从库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| haha               |
| information_schema |
| mysql              |
| performance_schema |
| relay              |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

3.2在新主库创建表,并在新从库查看

新主库:

mysql> use haha;
Database changed
mysql> create table t1(id int);
Query OK, 0 rows affected (0.06 sec)mysql> insert into t1 values(1);
Query OK, 1 row affected (0.01 sec)

新从库:

mysql> select * from haha.t1;
+------+
| id   |
+------+
|    1 |
+------+
1 row in set (0.00 sec)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/95563.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/95563.shtml
英文地址,请注明出处:http://en.pswp.cn/bicheng/95563.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【QT特性技术讲解】QPrinter、QPdf

前言 QT对打印和PDF应用场景&#xff0c;做了简单的封装&#xff0c;复杂的功能还是得用第三方库&#xff0c;打印功能简单的文本可以不用PDF&#xff0c;涉及图形的基本都要用到PDF。 Linux打印 随着国产信创项目替换基于Linux的桌面系统国产信创系统&#xff0c;Linux桌面系…

【大数据技术实战】Flink+DS+Dinky 自动化构建数仓平台

一、背景&#xff1a;企业数仓建设的现状与挑战在数字化转型进入深水区的今天&#xff0c;数据已成为企业核心生产要素&#xff0c;而实时数仓作为 “数据驱动决策” 的关键载体&#xff0c;其建设水平直接决定企业在市场竞争中的响应速度与决策精度。根据 IDC《2024 年全球大数…

Python开篇:撬动未来的万能钥匙 —— 从入门到架构的全链路指南

Python&#xff1a;撬动未来的万能钥匙——从入门到架构的全链路指南 在技术的星空中&#xff0c;Python 是那颗永不陨落的超新星——它用简洁的语法点燃创造之火&#xff0c;以庞大的生态铺就革新之路。无论你身处哪个领域&#xff0c;这把钥匙正在打开下一个时代的大门。2024…

【QT随笔】事件过滤器(installEventFilter 和 eventFilter 的组合)之生命周期管理详解

【QT随笔】事件过滤器(installEventFilter 和 eventFilter 的组合)之生命周期管理详解 上一章节中提到事件过滤器(Event Filter),用于处理特定事件。其中第二小节中提到了事件过滤器生命周期管理。本文将详细解析事件过滤器生命周期管理这一部分的内容。 (关注不迷路哈!…

关于linux软件编程12——网络编程3

一、单循环服务器 特点:1.可以处理多个客户端 (不能同时)2.效率不高//单循环服务器: socket bind listen while (1) {connfd accept();//通信 }特点:简单 可以处理多客户端 不能同时 二、并发服务器 --- 同时可以处理多个客户端1、设置一个选项(开启一个功能) ---让地址重…

thinkphp6通过workerman使用websocket

安装workerman依赖 composer require topthink/think-worker composer require topthink/think-worker1.0.* # 指定兼容版本‌:ml-citation{ref"1,7" data"citationList"}config配置 config/worker.php <?php return [// 扩展自身需要的配置host …

Rust SQLx 开发指南:利用 Tokio 进行性能优化

在当今高并发的应用开发环境中&#xff0c;数据库操作往往是性能瓶颈的主要来源之一。SQLx 作为一个纯 Rust 编写的异步 SQL 客户端库&#xff0c;通过与 Tokio 运行时深度集成&#xff0c;为开发者提供了处理数据库 I/O 密集型操作的强大工具。本文将带您深入了解如何利用这两…

嵌入式硬件电路分析---AD采集电路

文章目录摘要AD采集电路1AD采集电路2R77的真正作用是什么&#xff1f;理想与现实&#xff1a;为什么通常可以忽略R77的影响&#xff1f;摘要 AD采集 AD采集电路1 这是个人画的简化后的AD采集电路 这是一个AD检测电路&#xff0c;R1是一个可变电阻&#xff0c;R2是根据R1的常用…

Python爬取nc数据

1、单文件爬取爬取该网站下的crupre.nc数据&#xff0c;如下使用requests库&#xff0c;然后填写网站的url&#xff1a;"http://clima-dods.ictp.it/regcm4/CLM45/crudata/"和需要下载的文件名&#xff1a;"crupre.nc"import requests import osdef downlo…

策略模式 + 工厂模式

策略模式&#xff1a;简单来说解决的行为的封装与选择。如HandlerMapping&#xff0c;将 HTTP 请求映射到对应的处理器&#xff08;Controller 或方法&#xff09;。工厂模式&#xff1a;解决的是具有相同属性的对象创建问题&#xff0c;如BeanFactory创建bean对象。解决的代码…

Diamond基础3:在线逻辑分析仪Reveal的使用

文章目录1. 与ILA的区别2. 使用Reveal步骤3.Reveal注意事项4.传送门1. 与ILA的区别 Reveal是Lattice Diamond集成开发环境用于在线监测信号的工具&#xff0c;ILA是xilinx的Vivado集成开发工具的在线逻辑分析仪&#xff0c;同Reveal一样&#xff0c;均可以在项目运行过程中&am…

超适合程序员做知识整理的 AI 网站

这次要给大家分享一个超适合程序员做知识整理的 AI 网站 ——Notion AI&#xff0c;网址是Notion&#xff0c;它能把你随手记的杂乱笔记、代码片段、技术文档&#xff0c;一键梳理成逻辑清晰的结构化内容&#xff0c;小索奇我用它整理 “Python 爬虫知识点” 时&#xff0c;原本…

【 Selenium 爬虫】2025年8月25日-pixabay 图片采集

无恶意采集&#xff0c;取部分图片用来做相册测试的&#x1f604; 效果图import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONUtil; import com.la.selenium.utils.SeleniumUtil; import lombok.extern.slf4j.Slf4j; import o…

服务器托管需要注意什么事项?

服务器托管是企业IT基础设施的关键环节&#xff0c;其稳定性和安全性直接影响业务连续性。需要注意下面这几点&#xff01; 一、服务商与机房选择 服务商资质 选择持有ISP证书的合法服务商&#xff0c;优先考虑运营超5年、市场口碑佳的老牌公司&#xff0c;技术团队需具备72…

微信小程序备忘

1.按钮事件中想切换到tabBar中的链接用switchTab&#xff0c;不能用navigateTo&#xff1a;agentPage: function() { wx.switchTab({url: /pages/agent/agent}) },特别注意&#xff1a;微信小程序中所谓的自定义&#xff0c;并不是完全的自定义&#xff0c;在app.json中定义&a…

虚拟机NAT模式通过宿主机(Windows)上网不稳定解决办法(无法上网)(将宿主机设置固定ip并配置dns)

文章目录问题描述解决办法分析**1. 问题的根本原因****(1) 宿主机动态IP的DNS配置问题****(2) NAT模式下的网络依赖****(3) 自习室WiFi的潜在限制****2. 用户操作的合理性分析****(1) 固定IP的作用****(2) 手动指定公共DNS的作用****3. 用户怀疑的正确性****4. 其他可能原因的排…

基于 HTML、CSS 和 JavaScript 的智能图像虚化系统

目录 1 前言 2 技术实现 2.1 HTML&#xff1a;搭建页面基础结构 2.2 CSS&#xff1a;打造科技感视觉体验 2.3 JavaScript&#xff1a;实现核心虚化功能 2.3.1 图像上传与初始化 2.3.2 实时虚化处理 2.3.3 图像下载功能 3 完整代码 4 运行结果 5 总结 1 前言 三大核…

PS更改图像尺寸

新建文档 1.左上角——新文件可以新建文档2.文件——新建文档3.快捷键CtrlN 对文件命名 输入新文件名称设置宽度和高度 设置文件的宽高&#xff0c;单位可以是像素、英寸、厘米等。还可以选择文件方向或者是否使用画板模式画布背景色 一般显示白色&#xff0c;也可以选择其他颜…

分词器详解(一)

文章目录&#x1f31f; 第0层&#xff1a;极简版&#xff08;30秒理解&#xff09;核心公式生活比喻&#x1f4da; 第1层&#xff1a;基础概念&#xff08;5分钟理解&#xff09;1. 分词器基础1.1 分词器的核心作用1.2 主流分词算法对比2. 基础实现2.1 BPE实现原理2.2 特殊标记…

推荐一个论文阅读工具ivySCI

1.一些关于ivySCI的数据 &#xff08;摘自&#xff1a;吴焱红&#xff0c;论文示范:ivySCI 在论文管理、阅读和笔记中的体验&#xff09; 1.科研人员花在文献阅读上的时间占总工作时间的 23%2.每年阅读的文献数量大概是 188 到 280 篇3.ivySCI 提供 Pad(iPad 和 Android) 和桌…