程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql搭建集群 之 主主復制(雙主代從),mysql搭建

MySql搭建集群 之 主主復制(雙主代從),mysql搭建

編輯:MySQL綜合教程

MySql搭建集群 之 主主復制(雙主代從),mysql搭建


上篇文章介紹了關於MySQL如何配置主從復制,本篇主要說一下主主復制:

 

 先對文章將要出現的關鍵詞做一下說明:

server1、server2、server...表示數據庫服務器

(寫的比較懶,用心體會)


mysql主主復制配置

server1 ip:192.168.0.231
server2 ip:192.168.0.234


更改兩台主機的mysql配置文件
vim /etc/my.cnf
server1添加
server-id=1
log-bin=mysqlmaster-bin.log
auto-increment-increment=2
auto-increment-offset=1


server2添加
server-id=2
log-bin=mysqlmaster-bin.log
auto-increment-increment=2
auto-increment-offset=2

說明:auto-increment-increment的值設為整個結構中服務器的總數,此實驗為兩台服務器,所以值為2
auto-increment-offset是用來設定數據庫中自動增長的起點的,因為服務器都設定了一次自動增長的值為2,所以他們的起點必須得不同,這樣才能避免兩台服務器數據同步時出現主鍵沖突

另可以設置replicate-do-db=database-name指定需要同步的數據庫

重啟mysql服務使配置生效

登陸mysql

添加同步數據所需要的用戶

server1上

mysql>GRANT REPLICATION SLAVE ON *.* TO 'systop1'@'192.168.0.%' IDENTIFIED BY 'systop';

server2上

GRANT REPLICATION SLAVE ON *.* TO 'systop2'@'192.168.0.%' IDENTIFIED BY 'systop';


查看兩台服務器的master狀態

server1

SHOW MASTER STATUS;
+------------------------+----------+--------------+------------------+-------------------+
| File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------------+----------+--------------+------------------+-------------------+
| mysqlmaster-bin.000002 |      120 |              |                  |                   |



server2

show master status;
+------------------------+----------+--------------+------------------+-------------------+
| File                   | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------------+----------+--------------+------------------+-------------------+
| mysqlmaster-bin.000001 |      336 |              |                  |                   |


說明二進制日志路徑

server2上執行

CHANGE MASTER TO MASTER_HOST='192.168.0.231',MASTER_USER='systop1',MASTER_PASSWORD='systop',MASTER_LOG_FILE='mysql-bin.000002',MASTER_LOG_POS=120;


server1上執行

CHANGE MASTER TO MASTER_HOST='192.168.0.234',MASTER_USER='systop2',MASTER_PASSWORD='systop',MASTER_LOG_FILE='mysqlmaster-bin.000001',MASTER_LOG_POS=336;



開啟復制功能

兩台機器都執行
start slave;

查看復制連接狀態
執行
show slave status \G;
查看Slave_IO_Running: Yes
   Slave_SQL_Running: Yes
都顯示yes表示啟動正常

測試:兩台服務器都做數據更新操作,查看數據是否更新

老鐵們,互相關注交流啊!

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