溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL主主復制(圖文詳解)

發布時間:2020-07-12 23:10:25 來源:網絡 閱讀:1269 作者:BonnieJason 欄目:MySQL數據庫

一、實現原理
主主復制即在兩臺MySQL主機內都可以變更數據,而且另外一臺主機也會做出相應的變更。聰明的你也許已經想到該怎么實現了。對,就是將兩個主從復制有機合并起來就好了。只不過在配置的時候我們需要注意一些問題,例如,主鍵重復,server-id不能重復等等。
主主復制----->互為主從
二、實現功能
兩臺MySQL之間互為彼此的從庫,同時又是主庫。這種方案,既做到了訪問量的壓力分流,同時也解決了“單點故障”問題。任何一臺故障,都還有另外一套可供使用的服務。

三、架構模式
MySQL主主復制(圖文詳解)

四、配置文件

 --192.168.18.5
 【mysqld】
            server-id=1   #任意自然數n,只要保證兩臺MySQL主機不重復就可以了。
           log-bin=mysql-bin   #開啟二進制日志
                     log_bin_index = mysql-bin.index
                     relay_log = mysql-relay-bin
                     relay_log_index = mysql-relay-bin.index
                     read_only = 1
                     skip_slave_start = 1
           auto_increment_increment=2   #步進值auto_imcrement。一般有n臺主MySQL就填n
           auto_increment_offset=1   #起始值。一般填第n臺主MySQL。此時為第一臺主MySQL
           binlog-ignore=mysql   #忽略mysql庫
           binlog-ignore=information_schema   #忽略information_schema庫
           slave-skip-errors = all

           --192.168.18.6
【mysqld】
                    server-id = 2
                    log_bin = mysql-bin
                    log_bin_index = mysql-bin.index
                    relay_log = mysql-relay-bin
                    relay_log_index = mysql-relay-bin.index
                    read_only = 1
                    skip_slave_start = 1
                    log_slave_updates = 1
                    auto-increment-increment = 2
                    auto-increment-offset = 2   #此處區別于18.5的配置
                    slave-skip-errors = all

配置好后重啟MySQL

兩臺數據庫的/etc/my.cnf配置
MySQL主主復制(圖文詳解)
MySQL主主復制(圖文詳解)

五、互相授權訪問權限

18.5上執行授權root遠程18.6
MySQL [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.18.6' IDENTIFIED BY '1qaz2wsx';
Query OK, 0 rows affected, 1 warning (0.06 sec)

MySQL [(none)]> flush privileges;
Query OK, 0 rows affected (0.05 sec)

18.6上執行授權root遠程18.5
MySQL [(none)]> GRANT REPLICATION SLAVE ON *.* TO 'root'@'192.168.18.5' IDENTIFIED BY '1qaz2wsx';
Query OK, 0 rows affected, 1 warning (0.04 sec)

MySQL [(none)]> flush privileges;
Query OK, 0 rows affected (0.03 sec)

在18.5上查看二進制文件名與位置
MySQL主主復制(圖文詳解)
在18.6上告知18.5的文件名與位置
MySQL [(none)]> CHANGE MASTER TO
-> MASTER_HOST='192.168.18.5',
-> MASTER_USER='root',
-> MASTER_PASSWORD='1qaz2wsx',
-> MASTER_LOG_FILE='mysql-bin.000003',
-> MASTER_LOG_POS=154;
MySQL主主復制(圖文詳解)
至此完成主從模式。
要完成主主,相反,18.6也要告知18.5的二進制文件名與位置
在18.6上查看
MySQL主主復制(圖文詳解)
在18.5上執行
MySQL [(none)]> CHANGE MASTER TO
-> MASTER_HOST='192.168.18.6',
-> MASTER_USER='root',
-> MASTER_PASSWORD='1qaz2wsx',
-> MASTER_LOG_FILE='mysql-bin.000005',
-> MASTER_LOG_POS=154;
Query OK, 0 rows affected, 2 warnings (0.31 sec)
MySQL主主復制(圖文詳解)

然后分別開啟start slave;
MySQL主主復制(圖文詳解)
查看slave狀態
MySQL主主復制(圖文詳解)

MySQL主主復制(圖文詳解)

至此完成主主復制。
配置主主之前,mysql的庫最好是一致的,也就是初始化的模式的,如果庫不一致,會導致報錯。

參考鏈接

報錯參考鏈接
配置參考鏈接

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女