1. 程式人生 > >mysql主從複製原理和注意事項

mysql主從複製原理和注意事項

mysql主從複製大體分3個步驟:

  1. 在主庫上把更新的資料寫入到二進位制日誌binglog檔案裡面;
  2. 備庫把主庫的二進位制日誌複製到自己的relay_log中;
  3. 備庫讀取relay_log並將裡面的資料重放到資料庫。
    上述步驟在主從之間涉及到3個執行緒,a:主庫上面的資料寫入binglog執行緒,b:從庫上面啟動的I/O資料同步執行緒,該執行緒在主庫上啟動一個特殊的二進位制轉儲執行緒,去讀取binglog檔案,並把資料傳送給I/O執行緒儲存到relay_log,c:從庫的sql執行緒讀取relay_log並寫入資料庫
建立同步複製帳號:該帳號需要下列許可權 mysql>grant replication slave,replication client on *.* to
[email protected]
'172.16.0.%'  identified by 'password'; 複製帳號的許可權其實只需要replication slave許可權,replication client 是為了複製帳號的監控和管理需要 配置主庫和從庫配置檔案,在主庫修改my.cnf檔案的下列選項 log_bin = /Data/mysql/3306/data/mysql  #開啟binglog檔案記錄 server_id  = 1  #必須明確指明server_id,而且不容許複製環境有重複的server_id relay_log = /Data/mysql/3306/data/mysql-relay-bin #開啟relay_log並指定位置,該選項有預設值,也可不加 log_slave_updates = 1 #寫relay-log的時候也寫到bin-log,主要用在M-M-S環境,這裡也可以不啟用      備註:不要在配置檔案my.cnf裡面設定master_host或master_port這些老的選項,會導致一些問題 啟動複製:mysql>change master to master_host = '172.16.0.11',master_user='rep',master_password='password',master_log_file='mysql-bin.000001',master_log_pos=0;     mysql>start slave;     mysql>show slave status\G; 下面給出一些推薦的複製配置
  • 主庫上二進位制日誌最重要的選項sync_binlog=1 ,開啟該選項,mysql每次在事務提交前會把二進位制日誌同步到磁碟,保證伺服器崩潰時,不會丟失事件。它只作用於binglog,而不是relay_log
如使用innoDB選項,則推薦下列選項: innodb_flush_log_at_trx_commit#flush every log write innodb_support_xa =1 #mysql 5.0 or newer only  (innodb_safe_binglog#mysql 4.0 only) skip_slave_start #選項阻止備庫奔潰重啟後自動啟動複製 read_only #選項阻止大部分使用者修改非臨時表

相關推薦

mysql主從複製原理注意事項

mysql主從複製大體分3個步驟: 在主庫上把更新的資料寫入到二進位制日誌binglog檔案裡面;備庫把主庫的二進位制日誌複製到自己的relay_log中;備庫讀取relay_log並將裡面的資料重放到資料庫。 上述步驟在主從之間涉及到3個執行緒,a:主庫上面的資料寫入

複習電商筆記-19-mysql主從複製接受操作

  第五天:MySQL主從複製+Amoeba讀寫分離 思考: 序號 知識點 型別 難度係數 掌握程度  

MySQL主從複製原理、半同步操作步驟及原理

1.1 企業Linux運維場景資料同步方案 1.1.1 檔案級別的異機同步方案 1、scp/sftp/nc 命令可以實現遠端資料同步。  2、搭建ftp/http/svn/nfs 伺服器,然後在客戶端上也可以把資料同步到伺服器。  3、搭建sa

MySQL主從複製原理及搭建全過程】

目錄 準備工作 主從複製原理 開始搭建主從複製 本文將使用mariaDB資料庫實現主從複製,其步驟與MySQL資料庫無差異。 MariaDB資料庫管理系統是MySQL的一個分支,主要由開源社群在維護,採用GPL授權許可。 開發這個分支的原因之一是:甲骨文公司收購了MySQL後,有將M

MySQL 主從複製原理及建立過程

前言 mysql 是我工作中常用的資料庫,不過僅限於 SQL 操作,通過阿里雲的 RDS 可以快速生成一個例項,對於其原理並不甚瞭解,所以閒暇之餘瞭解了一下,並記錄下來,與大家共享、交流。 目錄 一、MySQL複製技術 1. 複製的

Mysql主從複製原理

Mysql主從叢集可以保證從節點和主節點資料一致,這個是通過基於Binary Log的主從複製非同步實現的。 複製原理 複製過程 主節點將自己所有的寫操作記錄在自己的Binary Log中,主節點維護一個IO執行緒 從節點維護一個IO執行緒,定期向主節點

mysql 主從複製原理

原文連結:https://www.cnblogs.com/Aiapple/p/5792939.html 主從形式 mysql主從複製 靈活 一主一從主主複製一主多從---擴充套件系統讀取的效能,因為讀是在從庫讀取的;多主一從---5.7開始支援聯級複製---  

MySQL主從複製原理與實操

一、引言 在工作中,對資料庫的資料進行備份是毫無疑問的事情,而資料庫的備份方式又分好多種(此處就不做介紹),最基本的就是一主一從,從機需要不斷的讀取主機的資料二進位制日誌記錄來備份主機的資料,這是資料庫主從複製的第一個應用場景。主從複製的第二個應用場景就是在分散式的系統中,一個數據庫

運維必須要懂的MySQL主從複製原理

為什麼要做主從複製? 1、在業務複雜的系統中,有這麼一個情景,有一句sql語句需要鎖表,導致暫時不能使用讀的服務,那麼就很影響執行中的業務,使用主從複製,讓主庫負責寫,從庫負責讀,這樣,即使主庫出現了鎖表的情景,通過讀從庫也可以保證業務的正常運作。 2、做資料的熱備

mysql主從複製原理詳解

master將改變記錄到二進位制日誌中binlog,slave將master的binlog拷貝到自己的中繼日誌中,然後執行一遍sql語句就達到同步了 一個伺服器當主庫,另一個或多個伺服器當從庫,主

mysql主從複製原理及實踐

Mysql主從複製原理及實踐 mysql主從框架       MySQL主從架構是MySQL叢集中最基本也是最常用的一種架構部署,能夠滿足很多業務需求,常見的有一主一從或者一主多從。可以防止單一主機的資料丟失,提高資料的安全性,務上可以實現讀寫分離,可以把一些讀操作在從伺服器上執行,減小主伺服器的負擔。 主從

MySQL 主從複製原理不再難

上篇我們分析過 Binlog 日誌的作用以及儲存原理,感興趣的可以翻閱: [一文帶你瞭解 Binlog 日誌](https://www.cnblogs.com/rickiyang/p/13841811.html) Binlog 日誌主要作用是資料恢復和主從複製。本身就是二進位制格式的日誌檔案,網路傳輸無需

MySQL(13)---MYSQL主從複製原理

# MYSQL主從複製原理 最近在做專案的時候,因為部署了 **MYSQL主從複製** 所以在這裡記錄下整個過程。這裡一共會分兩篇部落格來寫: ``` 1、Mysql主從複製原理 2、docker部署Mysql主從複製實戰 ``` 這篇只寫MYSQL主從複製原理。 ## 一、概述 #### 1

MySQL 主從複製原理配置

工作原理圖: 主從複製的原理: 分為同步複製和非同步複製,實際複製架構中大部分為非同步複製。 複製的基本過程如下: 1).Slave上面的IO程序連線上Master,並請求從指定日誌檔案的指定位置(或者從最開始的日誌)之後的日誌內容; 2).Master接收

mysql索引、主鍵、唯一索引、聯合索引的區別(索引的建立原則注意事項

索引對資料庫效能的影響? 本質:縮小查詢範圍。大大減少需要掃描的資料量。大大提高查詢的速度,降低寫的速度,佔用磁碟。將隨機I/O變成順序I/O 特大的表怎麼解決查詢問題? 分割槽。 主鍵索引和唯一索引的區別? 一個表只能有一個主鍵索引,但可以有多個唯一索引, 主鍵索引是唯一索

MySQL主從複製,並行複製,半同步複製複製

主從複製 主從複製過程存在三個執行緒,Master端的I/O執行緒,Slave的I/O執行緒與SQL執行緒。Master端需要開啟binlog日誌,Slave端需要開啟relaylog。 1、Slave端的I/O讀取master.info檔案,獲取binlog檔名和位置點,然後向Mast

1112_maven專案使用Druid連線池配置步驟注意事項[mysql資料庫]

maven專案使用Druid連線池配置步驟和注意事項[mysql資料庫] 2018年06月13日 17:09:25 個人分類: java 注:這兩天搭建專案時,使用Druid連線池入了不少坑;以此記錄; MySQL Server 5.7.21 + mysql-connector-j

MySQL(4):主從複製原理

1、主從複製概述   MySQL主從複製也可以稱為MySQL主從同步,它是構建資料庫高可用叢集架構的基礎。它通過將一臺主機的資料複製到其他一臺或多臺主機上,並重新應用relay log中的SQL語句來實現複製功能。MySQL支援單向、雙向、鏈式級聯、非同步複製,5.5版本之後加入的半同步複製,5.6版本之後

【Mycat】資料庫效能提升利器(三)——Mycat實現Mysql主從複製讀寫分離

一、前言       在前一篇文章中,小編向大家 介紹了使用Mycat水平切分資料庫。可以說,使用了水平分庫後,資料庫提升還是很高的。如果想更高的提高資料庫效能,就可以考慮對Mysql進行主從複製和讀寫分離了。       在這篇部落格中,小編就向大家介紹基於Mycat的M

mysql資料庫備份之mysqldump備份原理注意事項

關於MySQL熱備,可分為兩種方式: 邏輯備份 物理備份 對於前者,常用的工具是MySQL自帶的mysqldump,對於後者,常用的工具是Percona提供的XtraBackup。 對於規模比較小,業務並不繁忙的資料庫,一般都是選擇mysqldump。 那麼,mysqldump的