mysql互為主從失效,重新同步

一、分別登錄服務器A和服務器B的mysql

mysql -u root -p 123456789

二、分別查看數據庫狀態信息,下邊兩項參數有一項為NO就表示同步異常

Slave_IO_Running:從服務器(Slave)中的 I/O 線程的運行狀態

Slave_SQL_Running:從服務器上的 SQL 線程是否正在運行

mysql> show slave status\G                                                
Slave_IO_Running: Yes
Slave_SQL_Running: No

三、修復異常,重新同步

數據庫A

1、停止同步操作

mysql> stop slave;

2、進行鎖表,防止數據寫入

mysql> flush tables with read lock;

3、備份數據庫數據、同步數據庫數據

4、查看log日志的同步點位

mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)

數據庫B

5、停止同步操作

mysql> stop slave;

6、備份數據庫數據、同步數據庫數據

7、設置從庫同步,注意該處的同步點,就是數據庫Ashow master status信息里的| File| Position兩項

mysql> change master to master_host = '192.168.128.100', master_user = 'rsync',  master_port=3306, master_password='', master_log_file =  'mysqld-bin.000001', master_log_pos=3260;

8、打開數據庫同步狀態

mysql> start slave;

9、參看同步狀態信息

Slave_IO_Running、Slave_SQL_Running數據都為yes表示同步成功,為no時可能為7中的File| Position兩項配置不正確

mysql> show slave status\G  Slave_IO_Running: Yes
Slave_SQL_Running: Yes

10、查看log日志的同步點位,供數據庫A使用

mysql> show master status;
+-------------------+----------+--------------+-------------------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB              |
+-------------------+----------+--------------+-------------------------------+
| mysqld-bin.000001 |     3260 |              | mysql,test,information_schema |
+-------------------+----------+--------------+-------------------------------+
1 row in set (0.00 sec)

數據庫A

11、數據庫A同步B

mysql> change master to master_host = '192.168.128.100', master_user = 'rsync',  master_port=3306, master_password='', master_log_file =  'mysqld-bin.000001', master_log_pos=3260;

12、打開從庫同步狀態

mysql> start slave;

13、查看同步狀態信息

mysql> show slave status\G  Slave_IO_Running: Yes
Slave_SQL_Running: Yes

14、解除表鎖定?

UNLOCK TABLES;

四、crontab定時檢查數據庫同步狀態,發現異常時發送消息到釘釘群,腳本如下

<?phpfunction httpsPost($url = '', $data = []){$curl = curl_init();// 設置請求頭$headers = array("Content-Type: application/json");curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);curl_setopt($curl, CURLOPT_URL, $url);if (stripos($url, "https://") !== false) {curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($curl, CURLOPT_SSLVERSION, 1); //CURL_SSLVERSION_TLSv1}if (!empty($data)) {curl_setopt($curl, CURLOPT_POST, 1);curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($data));}curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$output = curl_exec($curl);if (curl_error($curl) != 0) {curl_error($curl);curl_close($curl);return false;} else {curl_close($curl);return $output;}
}try {$dsn = 'mysql:host=127.0.0.1;dbname=數據庫名';$username = '數據庫賬號';$password = '數據庫密碼';$pdo = new PDO($dsn, $username, $password);$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);$sql = 'show slave status';$stmt = $pdo->prepare($sql);$id = 1; // 示例值$stmt->bindParam(':id', $id); // 綁定參數以防止SQL注入$stmt->execute(); // 執行查詢$result = $stmt->fetch(PDO::FETCH_ASSOC); // 獲取單行結果if($result["Slave_SQL_Running"] != "Yes"){$data = ['msgtype' => 'text','text'    =>['content' => "@所有人 同學快來:數據庫同步異常了"],];//監控群$url="釘釘監控群消息接口地址";//測試環境httpsPost($url,$data);}echo "數據庫同步正常";} catch (PDOException $e) {die("Query failed: " . $e->getMessage());
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/913770.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/913770.shtml
英文地址,請注明出處:http://en.pswp.cn/news/913770.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

板凳-------Mysql cookbook學習 (十一--------6)

https://blog.csdn.net/weixin_43236925/article/details/146382981 清晰易懂的 PHP 安裝與配置教程 12.6 查找每組行中含有最大或最小值的行 mysql> set max_price (select max(price) from painting); Query OK, 0 rows affected (0.01 sec)mysql> select artist.name…

ECS由淺入深第四節:ECS 與 Unity 傳統開發模式的結合?混合架構的藝術

ECS由淺入深第一節 ECS由淺入深第二節 ECS由淺入深第三節 ECS由淺入深第四節 ECS由淺入深第五節 盡管 ECS 帶來了顯著的性能和架構優勢&#xff0c;但在實際的 Unity 項目中&#xff0c;完全摒棄 GameObject 和 MonoBehaviour 往往是不現實的。Unity 引擎本身的大部分功能&…

Mac關閉觸控板

打開 “有鼠標或無線觸控板時忽略內建觸控板”選項即可 參考&#xff1a;Mac如何關閉觸控板防止誤觸&#xff1f;內置的設置就可以達成 - Mac天空

Python:Rich 終端富文本與界面樣式工具庫

??? 1、簡述 Rich 是一個強大的 Python 庫,用于在終端中呈現富文本和精美的格式,讓命令行界面(CLI)應用擁有現代、美觀的輸出效果。本文將深入介紹 Rich 的核心功能,并通過一系列實際示例展示其強大能力。 Rich 由 Will McGugan 開發,主要特點包括: 豐富的文本樣式:支…

深入解析享元模式:通過共享技術高效支持大量細粒度對象

深入解析享元模式&#xff1a;通過共享技術高效支持大量細粒度對象 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 總有一行代碼&#xff0c;能點亮萬千星辰。 &#x1f50d; 在技術的宇宙中&#xff0c;我愿做永不停歇的探索者。 ? 用代碼丈量世…

Docker高級管理

一、Docker 容器的網絡模式 當項目大規模使用 Docker 時&#xff0c;容器通信的問題也就產生了。要解決容器通信問題&#xff0c;必須先了解很多關于網絡的知識。Docker 的網絡模式非常豐富&#xff0c;可以滿足不同容器的通信要求&#xff0c;下表列出了這些網絡模式的主要信息…

ABP VNext + Tye:本地微服務編排與調試

ABP VNext Tye&#xff1a;本地微服務編排與調試 &#x1f680; &#x1f4da; 目錄ABP VNext Tye&#xff1a;本地微服務編排與調試 &#x1f680;TL;DR ?一、環境與依賴 &#x1f6e0;?二、核心配置詳解 &#x1f680;1. 主配置 tye.yaml三、多環境文件 &#x1f331;&am…

Vue響應式原理一:認識響應式邏輯

核心思想&#xff1a;當數據發生變化時&#xff0c;依賴該數據的代碼能夠自動重新執行Vue中的應用&#xff1a;在data或ref/reactive中定義的數據&#xff0c;當數據變化時template會自動更新template的本質&#xff1a; 是render()函數, 用變化之后的數據重新執行render()函數…

Redis:分組與設備在 Redis 中緩存存儲設計

一、緩存存儲結構設計 分組與設備的映射關系&#xff08;使用 Set 結構&#xff09;&#xff1a; 鍵格式&#xff1a;采用 group:{groupId}:devices 的格式作為 Redis 中 Set 的鍵&#xff0c;例如 group:1:devices 就代表了分組 ID 為 1 的分組所關聯的設備集合。值內容&#…

Leetcode 3605. Minimum Stability Factor of Array

Leetcode 3605. Minimum Stability Factor of Array 1. 解題思路2. 代碼實現 題目鏈接&#xff1a;3605. Minimum Stability Factor of Array 1. 解題思路 這一題的核心思路是二分法&#xff0c;本質上就是我們給定一個常數kkk&#xff0c;然后考察是否存在一個構造使得能夠…

編譯安裝的Mysql5.7報“Couldn‘t find MySQL server (mysqld_safe)“的原因 筆記250709

編譯安裝的Mysql5.7報"Couldn’t find MySQL server (mysqld_safe)"的原因 筆記250709 MySQL 的安裝路徑與配置文件&#xff08;如 my.cnf 或 mysql.server&#xff09;中指定的 basedir 不一致。 mysqld_safe 文件實際位置與系統查找路徑不匹配&#xff08;常見于自…

在 Ubuntu 下配置 oh-my-posh —— 普通用戶 + root 各自使用獨立主題(共享可執行)

&#x1f9e9; 在 Ubuntu 下配置 oh-my-posh —— 普通用戶 root 各自使用獨立主題&#xff08;共享可執行&#xff09;? 目標說明普通用戶 使用 tokyonight_storm 主題 root 用戶 使用 1_shell 主題 共用全局路徑下的 oh-my-posh 可執行文件 正確加載 Homebrew 到環境變量中…

Spring Boot 項目中的多數據源配置

關鍵詞&#xff1a;Spring Boot、多數據源配置、MySQL、SQL Server、Oracle、動態切換 ? 摘要 在實際企業級開發中&#xff0c;一個 Spring Boot 項目可能需要連接多個數據庫&#xff0c;比如 MySQL、SQL Server 和 Oracle。不同的業務模塊可能依賴不同的數據源&#xff0c;這…

MATLAB/Simulink電機控制仿真代做 同步異步永磁直驅磁阻雙饋無刷

以下是針對 MATLAB/Simulink 電機控制仿真 的系統性解決方案&#xff0c;涵蓋 同步電機、異步電機、永磁電機、直驅電機、磁阻電機、雙饋電機、無刷直流電機&#xff08;BLDC&#xff09; 的建模與控制策略實現&#xff0c;支持代做服務的技術細節和代碼示例。一、電機建模與仿…

限流算法深度探索:從理論到實踐的生產級避坑指南

凌晨3點&#xff0c;監控警報刺耳地尖叫著。我盯著屏幕上垂直下跌的服務可用性曲線&#xff0c;意識到那個被忽視的限流配置項終于引爆了——每秒1000次的支付請求正像洪水般沖垮我們的系統。這次事故讓我深刻理解&#xff1a;限流不是可選項&#xff0c;而是分布式系統的生存法…

企業級后臺管理系統的困境與飛算 JavaAI 的破局之道

企業級后臺管理系統如 CRM&#xff08;客戶關系管理系統&#xff09;、ERP&#xff08;企業資源計劃系統&#xff09;已成為支撐企業高效運轉的核心骨架。它們如同企業的 “神經中樞”&#xff0c;串聯起客戶數據、財務信息、供應鏈流程等關鍵環節&#xff0c;為決策制定、業務…

快速上手百寶箱搭建知識闖關游戲助手

引言&#xff1a;讓學習更有趣&#xff0c;AI 賦能知識闖關新體驗 1.在信息爆炸的時代&#xff0c;傳統的填鴨式教學方式已難以滿足現代用戶對高效、個性化和趣味化學習的需求。越來越多的學習者傾向于通過互動性強、參與感十足的方式獲取知識。在此背景下&#xff0c;游戲化學…

【YOLOv11-目標檢測】目標檢測數據格式(官方說明)

原文鏈接&#xff1a; https://docs.ultralytics.com/datasets/detect/ 寫在前面 訓練一個魯棒且準確的目標檢測模型需要一個全面的數據集。本文介紹&#xff1a;與Ultralytics YOLO模型兼容的各種數據集格式&#xff0c;并深入解析了它們的結構、使用方法以及如何在不同的格…

yolo8實現目標檢測

?步驟一&#xff1a;安裝 PyTorch&#xff08;M1 專用&#xff09;# 推薦使用官方 MPS 后端&#xff08;Apple Metal 加速&#xff09; pip install torch torchvision torchaudio確認是否使用了 Apple MPS&#xff1a;import torch print(torch.backends.mps.is_available()…

安全管理協議(SMP):配對流程、密鑰生成與防中間人攻擊——藍牙面試核心考點精解

一、SMP 核心知識點高頻考點解析1.1 SMP 在藍牙安全體系中的定位考點&#xff1a;SMP 的功能與協議棧位置解析&#xff1a; SMP&#xff08;Security Manager Protocol&#xff0c;安全管理協議&#xff09;是藍牙核心規范中負責設備配對、密鑰生成與安全連接的關鍵協議&#x…