程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql復制過程中的server-id的理解

mysql復制過程中的server-id的理解

編輯:MySQL綜合教程

mysql復制過程中的server-id的理解   一.     server-id做什麼用的,你知道嗎?     1、 mysql的同步的數據中是包含server-id的,用於標識該語句最初是從哪個server寫入的,所以server-id一定要有的       2、 每一個同步中的slave在master上都對應一個master線程,該線程就是通過slave的server-id來標識的;每個slave在master端最多有一個master線程,如果兩個slave的server-id 相同,則後一個連接成功時,前一個將被踢掉。 這裡至少有這麼一種考慮:        slave主動連接master之後,如果slave上面執行了slave stop;則連接斷開,但是master上對應的線程並沒有退出;當slave start之後,master不能再創建一個線程而保留原來的線程,那樣同步就可能有問題;       3、 在mysql做主主同步時,多個主需要構成一個環狀,但是同步的時候有要保證一條數據不會陷入死循環,這裡就是靠server-id來實現的   二.在my.cnf中設置服務器的ID是一個必要的步驟來實施或開始復制。 一般的規則是,整個環境,我們正在實施MySQL復制服務器的ID必須是唯一的。   一般同時實施復制multi-master/circular,我們設置日志選項從更新的= 1。 所以任何聲明時,將執行主的奴隸,它會被記錄在該服務器的二進制日志。   例如,我們有3個服務器A,B和 C。 其服務器ID相應的11,22和33。 他們正在復制循環方式(多主),如A是主服務器B,B是C服務器和C的主人是一台服務器的主人。   現在任何MySQL客戶端時,將執行插入/更新/刪除服務器上的聲明,它會被記錄在二進制的服務器與服務器ID 11。   由於該語句記錄在二進制的服務器,它會去到B服務器(因為B是奴隸),在那裡執行和記錄BINLOG B服務器在同一台服務器ID 11。 (為什麼同一台服務器ID?因為本來這種說法,其執行由SQL線程不正規的mysql客戶端發起的服務器與服務器ID 11和B服務器上)。   現在這個語句將再次進入到C服務器(因為C是B的奴隸),在那裡執行的二進制日志中記錄的C服務器在同一台服務器ID 11。   由於C是主服務器,該語句時會來的C服務器通過二進制日志的服務器, 一台服務器的 SQL線程將比較服務器ID,會發現,同11表示,這種說法是最初發起的服務器本身和沒有必要執行SQL線程所以最後將跳過這一說法。   借助服務器的ID,我們就能避免死循環樣的情況下在master-master/circular復制。   三.   確保主服務器主機上my.cnf文件的[mysqld]部分包括一個log-bin選項。該部分還應有一個server-id=Master_id選項,其中master_id必須為1到232–1之間的一個正整數值。例如:   6.            [mysqld] 7.            log-bin=mysql-bin 8.            server-id=1 如果沒有提供那些選項,應添加它們並重啟服務器。   9.    停止用於從服務器的服務器並在其my.cnf文件中添加下面的行:   10.        [mysqld] 11.        server-id=slave_id slave_id值同Master_id值一樣,必須為1到232–1之間的一個正整數值。並且,從服務器的ID必須與主服務器的ID不相同。例如:   [mysqld] server-id=2 如果設置多個從服務器,每個從服務器必須有一個唯一的server-id值,必須與主服務器的以及其它從服務器的不相同。可以認為server-id值類似於IP地址:這些ID值能唯一識別復制服務器群集中的每個服務器實例。   如果不指定一個server-id值,如果沒有定義master-host,則將它設置為1;否則設置為2。請注意如果server-id太長,主服務器 拒絕所有來自從服務器的連接,並且從服務器拒絕連接到主服務器。這樣,省略server-id只適合用二進制日志備份。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved