首頁 資料庫 mysql教程 利用mysqlbinlog进行集群备份的设想

利用mysqlbinlog进行集群备份的设想

Mar 13, 2017 pm 02:05 PM
使用 備份 進行 叢集

实现MySQL热备份的最好方法,我一直都认为是Replication,xtrabackup等各种热备脚本,都没有Replication安全方便。

面对一个大规模集群的备份,由于实例太对,没办法创建这么多实例去Replication。之前我的想法一直是通过修改MySQL的源码,扩展MySQL Replication可以创建多个M-S复制,这对MySQL本身有入侵,没办法保证我的代码能有非常高的可靠性,更严重的是要改变MySQL的语法,来支持多Master的Change语句,对.yy文件的修改风险就更大了。

在这条路不断的碰壁之时,突然想到,mysqlbinlog不是一个很好的工具吗,为什么还要靠修改源码,一个利用mysqlbinlog进行大规模备份的想法就诞生了,但是是否可靠还要去验证下。

怎么做呢,首先了解下MySQL Replication怎么做的,首先一个Slave IO线程从Master读取binlog,然后解析到Relay-log,另一个Slave SQL线程异步的从Relay-log中读取SQL应用到本地。
mysqlbinlog有一个参数read-from-remote-server,可以从远程读取binlog,只要创建一个有Replication Client权限的用户即可,这就模拟了Slave IO线程的作用。
mysqlbinglog –read-from-remote-server -u repl -p -h target_node –start-datetime=’2010-09-01 00:00:00′ –stop-datetime=’2010-09-01 23:59:59′
通过这条命令就可以获取到2010-09-01这一天的全部SQL,这些SQL可以直接导入到数据库,也可以写到Relaylog,让SLave SQL线程去执行。

假设我们原来是每5分钟备份一次新产生的binlog,每天一次全备,所有备份都在一个备份机上,利用上述方法,就可以如下操作:

1. 在备份机启动一个实例,指向任意一个没有操作的Master,使Relay-log文件生成。
2. 每个要备份的实例从备份机每5分钟发起一次mysqlbinlog请求,获取上5分钟的binlog,写入到一个临时文件,然后等临时文件写完了,去touch一个锁,写Relaylog。
3. 每天Slave Start一次,Slave Start之前touch一个锁,让Relay-log的写阻塞,等待Slave start执行完毕,删除Relay-log的写锁。
4. 删除前一天产生的临时文件。

这样操作就可以保证,每五分钟产生的SQL都被分开记录,方便查找,每天的Slave start则消化掉这些SQL。
如果想方便一点,不写Relay-log也是可以的,直接每天把SQL丢给MySQL执行一次就好,效果也一样。

具体这种方法靠谱不靠谱,我会去实践一下看看。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何備份谷歌瀏覽器的擴充程序 如何備份谷歌瀏覽器的擴充程序 Jan 30, 2024 pm 12:36 PM

谷歌瀏覽器擴充功能如何備份?對於大多數Google瀏覽器用戶來說,日常使用時會安裝或多或少的插件,插件的存在可以提升我們的使用體驗。當我們重裝系統或瀏覽器時,這些插件卻無法保留,重新下載安裝又比較麻煩,那麼有沒有辦法備份目前已安裝的插件呢?下面就為大家帶來操作方法。備份chrome插件的教學方法先打開Google瀏覽器,點擊右上角的選單,選擇更多工具-擴充功能。點擊擴充功能頁面上方的打包擴充功能。在C:UsersAdministratorAppDataLocalGoogleChromeUserDataDe

如何在Windows 11的檔案總管中刪除啟動備份 如何在Windows 11的檔案總管中刪除啟動備份 Feb 18, 2024 pm 05:40 PM

如果您希望在Windows11的檔案總管中隱藏「開始備份」選項,以下是您可以採取的方法。有多種途徑可用於在檔案總管中停用或隱藏啟動備份選項,我們將簡要列出一些方法,以幫助您快速完成此任務。在開始之前,您需要了解這個選項與OneDrive密切相關。一旦您開啟某個庫資料夾(例如Document、Pictures、Music等),它會立即顯示在檔案總管的路徑中。如何在Windows11的檔案總管中刪除啟動備份要在Windows11的檔案總管中刪除啟動備份,請依照下列方法操

如何在 PHP 中使用 MySQL 備份和還原? 如何在 PHP 中使用 MySQL 備份和還原? Jun 03, 2024 pm 12:19 PM

在PHP中備份和還原MySQL資料庫可透過以下步驟實現:備份資料庫:使用mysqldump指令轉儲資料庫為SQL檔。還原資料庫:使用mysql指令從SQL檔案還原資料庫。

hosts檔案刪了怎麼恢復 hosts檔案刪了怎麼恢復 Feb 22, 2024 pm 10:48 PM

標題:hosts檔案刪除後如何恢復摘要:hosts檔案是作業系統中非常重要的一個文件,用於將網域名稱對應到IP位址。如果不小心將hosts檔案刪除了,可能會導致上網無法存取特定網站或其他網路問題。本文將介紹如何在Windows和Mac作業系統中復原被誤刪的hosts檔案。內文:一、Windows作業系統中恢復hosts檔案Windows作業系統中的hosts文

ghost怎麼備份系統-ghost備份教學 ghost怎麼備份系統-ghost備份教學 Mar 06, 2024 pm 04:30 PM

近期有很多小夥伴諮詢小編ghost怎麼備份系統,接下來就讓我們一起學習ghost備份系統的方法教程,希望可以幫助大家。 1、運行Ghost後,點選“OK”,如圖所示。 2.依序點選「Local」→「Partition」→「ToImage」(意為:本地→分割區→到鏡像檔),如圖所示。 3.出現選擇本機硬碟窗口,點選要備份的分割區所在硬碟,再點選“OK”,如圖所示。 4.出現選擇來源分割區視窗(來源分割區就是你要備份的那個分割區),點選系統所​​在的分割區(通常為1區,一定要弄準),再點選“OK”,如圖所示。 5.此時彈

如何利用GitLab進行專案文件管理 如何利用GitLab進行專案文件管理 Oct 20, 2023 am 10:40 AM

如何利用GitLab進行專案文件管理一、背景介紹在軟體開發過程中,專案文件是非常重要的資料,不僅能夠幫助開發團隊了解專案的需求和設計,還能提供給測試團隊和客戶參考。為了方便專案文件的版本控制和團隊協作,我們可以利用GitLab來進行專案文件管理。 GitLab是一個基於Git的版本控制系統,除了支援程式碼管理,還可以管理專案文件。二、GitLab環境建置首先,我

如何安裝、解除安裝、重設Windows伺服器備份 如何安裝、解除安裝、重設Windows伺服器備份 Mar 06, 2024 am 10:37 AM

WindowsServerBackup是WindowsServer作業系統自帶的功能,旨在協助使用者保護重要資料和系統配置,並為中小型和企業級企業提供完整的備份和復原解決方案。只有執行Server2022及更高版本的使用者才能使用此功能。在本文中,我們將介紹如何安裝、解除安裝或重設WindowsServerBackup。如何重置Windows伺服器備份如果您的伺服器備份遇到問題,備份所需時間過長,或無法存取已儲存的文件,那麼您可以考慮重新設定WindowsServer備份設定。要重設Windows

如何在麒麟作業系統上進行系統備份與還原? 如何在麒麟作業系統上進行系統備份與還原? Aug 07, 2023 pm 02:22 PM

如何在麒麟作業系統上進行系統備份與還原?麒麟作業系統是中國自主研發的開源作業系統,廣泛應用於各種場景。在使用麒麟作業系統時,系統備份和復原是非常重要的任務。備份系統可防止因故障或誤操作而導致資料遺失,而係統復原則可在系統崩潰時快速還原正常功能。本文將詳細介紹如何在麒麟作業系統上進行系統備份和恢復,並附上相關程式碼範例。備份系統為了備份整個系統,我們可以

See all articles