牛刀小試MySQL學習—MySQL 雙主

來源:互聯網
上載者:User

標籤:style   blog   http   io   ar   color   os   使用   sp   

雙主其實說白了也是一個replication,只是推出一些新的拓撲結構

 主-主的複製有兩種模式:

主動-主動模式下的主-主複製(Master-Master in Active-Active Mode) 模式下的主-主複製(Master-Master in Active-Passive Mode) 當然還有,環形和有從伺服器的主-主複製,不過都是上面的延生。 關於第一種的雙主模式,肯定是會產生資料衝突的。雖然可以使用配置auto_increment_increment=2和auto_increment_offset=1可以解決自動插入的問題,允許同時插入資料的話,資料還是會不一致的。例如:下面的兩個命令同時執行:

第一個主伺服器:mysql>update tbl set col=col +1;第二個主伺服器:mysql>update tbl set col=col*2; 結果是什嗎?一個伺服器的值為4,而另外一個為3.並且根本沒有replication的錯誤。 所以,個人建議主動-被動的雙主模式,只讓一台伺服器寫就行了,讓它對外服務,另外一台作為備用。只接受資料。 下面開始進入正題,如何配置雙主。 第一步,啟動來台資料庫的時候,mysql.cnf都得配置下面的語句 3306:server-id = 323306
log_slave_updates = 1auto_increment_increment=2auto_increment_offset=1  3307:server-id = 323307log_slave_updates = 1auto_increment_increment=2auto_increment_offset=2read-only(保證唯讀) 當然每台伺服器的port,user,socket,pid-file,basedir,datadir,tmpdir以及與log相關的:log-bin(這個是必須開啟的),slow_query_log_file(當然也要開啟)等等。就不說了。 這裡最重要的就是log_slave_updates,沒有它,雙主是配不成的,關於它的詳細介紹。在如下網址:http://dev.mysql.com/doc/refman/5.5/en/replication-options-slave.html#option_mysqld_log-slave-updates 說白了,就是可以A -> B -> C,保證A可以作為master,複製到B,B可以作為master,複製到C.所以呢,如果A和B互相的話,就是雙主了。 第二步,接著就是兩台伺服器都配上repl使用者。mysql> CREATE USER ‘repl‘@‘192.168.1.50‘ IDENTIFIED BY ‘repl‘;mysql> GRANT REPLICATION SLAVE ON *.* TO ‘repl‘@‘192.168.1.50‘; 備忘:‘192.168.1.50‘這個IP,是告訴來自於這個IP的主機有REPLICATION SLAVE的許可權。 第三步,就跟配置replication是一樣的。保證一致性的備份。 SHOW MASTER STATUS;知道對應的binlog. 再在slave上面進行change master tomysql>CHANGE MASTER TOMASTER_HOST = ‘192.168.1.40‘,MASTER_PORT = 3306,MSTER_USER = ‘repl‘,MASTER_PASSWORD = ‘repl‘,MASTER_LOG_FILE = ‘mysql-bin.000004‘,MASTER_LOG_POS = 107; 接著換過來,由於slave接受了master的binlog,自己又設定了log_slave_updates而且binlog也同時開啟了,所以salva也可以看到自己的binlog。接著把上面的事情,同樣再做一遍。即可 這樣,雙主就算配置成功。(沒有什麼太詳細的步驟,不過基本上都說到位了。配置的話,跟mysql replication一致。http://blog.chinaunix.net/uid-26446098-id-3267475.html可以參考此文) http://blog.chinaunix.net/uid-26446098-id-3267556.html  

牛刀小試MySQL學習—MySQL 雙主

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.