mysql中怎么實現(xiàn)主主同步-創(chuàng)新互聯(lián)

本篇文章為大家展示了mysql中怎么實現(xiàn)主主同步,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的田陽網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

A服務(wù)器:
host 192.168.1.101
port 3306
B服務(wù)器:
host 192.168.1.102
port 3306
 
1,授權(quán)用戶:
A服務(wù)器
mysql>grant replication slave,file on *.* to  identified by '1234569';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
B服務(wù)器
mysql>grant replication slave,file on *.* to  identified by '1234568';
Query OK, 0 rows affected (0.01 sec)
> flush privileges;
Query OK, 0 rows affected (0.01 sec)
 
2,配置文件
A服務(wù)器
log-bin=mysql-bin
server-id   = 1
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset=1
master-host     =   192.168.1.102
master-user     =   repl8
master-password =   1234568
master-port     = 3306
 
B服務(wù)器
 
log-bin=mysql-bin
server-id   = 2
binlog-do-db=test
binlog-ignore-db=mysql
replicate-do-db=test
replicate-ignore-db=mysql
log-slave-updates
slave-skip-errors=all
sync_binlog=1
auto_increment_increment=2
auto_increment_offset = 2
master-host     =   192.168.1.101
master-user     =   repl9
master-password =   1234569
master-port     = 3306                                                                    
 
 
啟動服務(wù)器就ok了
 
 
--------------------------------------------------
Q: 當(dāng)在另一臺機器上登錄MySQL時出現(xiàn)如下錯誤:
 
ERROR 2003 (HY000): Can't connect to MySQL server on 'x.x.x.x' (111)
 
A: 原因是MySQL考慮到安全因素,默認配置只讓從本地登錄
 
打開 /etc/mysql/my.cnf 文件,找到 bind-address = 127.0.0.1 修改為 bind-address = 0.0.0.0
 
重啟mysql : sudo /etc/init.d/mysql restart
 
 
========================================
101 增加,102不同步   ?????????
mysql -h292.168.1.102 -urepl8 -p1234568        ok
 
102 增加,101 同步
mysql -h292.168.1.101 -urepl9 -p1234569       ok
 
比較兩組的show slave status\G;
102
 
           Slave_IO_Running: No
          Slave_SQL_Running: Yes
            Replicate_Do_DB: test
        Replicate_Ignore_DB: mysql
 
 
sudo /etc/init.d/mysql restart
sudo service mysql restart   以后就變成:lave_IO_Running: YES
 
 
 
出現(xiàn)的問題(多主自增長ID重復(fù))
 
解決方法:
我們只要保證兩臺服務(wù)器上插入的自增長數(shù)據(jù)不同就可以了
如:A查奇數(shù)ID,B插偶數(shù)ID,當(dāng)然如果服務(wù)器多的話,你可以定義算法,只要不同就可以了
 
在這里我們在A,B上加入?yún)?shù),以實現(xiàn)奇偶插入
 
A:my.ini上加入?yún)?shù)
 
auto_increment_offset = 1
auto_increment_increment = 2
這樣A的auto_increment字段產(chǎn)生的數(shù)值是:1, 3, 5, 7, …等奇數(shù)ID了
 
B:my.ini上加入?yún)?shù)
 
auto_increment_offset = 2
auto_increment_increment = 2
這樣B的auto_increment字段產(chǎn)生的數(shù)值是:2, 4, 6, 8, …等偶數(shù)ID了
 
可以看出,你的auto_increment字段在不同的服務(wù)器之間絕對不會重復(fù),所以Master-Master結(jié)構(gòu)就沒有任何問題了。當(dāng)然,你還可以使用3臺,4臺,或者N臺服務(wù)器,只要保證auto_increment_increment = N 再設(shè)置一下auto_increment_offset為適當(dāng)?shù)某跏贾稻涂梢粤?,那樣,我們的MySQL可以同時有幾十臺主服務(wù)器,而不會出現(xiàn)自增長ID重復(fù)。
 
在這里我們說的是2臺MYSQL服務(wù)器,你也可以擴展到多臺,實現(xiàn)方法類似
A -> B -> C-> D ->A
這樣一個環(huán)形的備份結(jié)構(gòu)就形成了,最后可要記住 自增長ID(主鍵)要設(shè)計好哦,否則會出錯的。

上述內(nèi)容就是mysql中怎么實現(xiàn)主主同步,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文標題:mysql中怎么實現(xiàn)主主同步-創(chuàng)新互聯(lián)
網(wǎng)站鏈接:http://muchs.cn/article14/csjige.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航外貿(mào)建站、外貿(mào)網(wǎng)站建設(shè)、全網(wǎng)營銷推廣、動態(tài)網(wǎng)站、網(wǎng)站維護

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)