Mysql主從復制之延時同步

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) 和桌…