Mysql主主復(fù)制配置

在主主復(fù)制結(jié)構(gòu)中,兩臺服務(wù)器的任何一臺上面的數(shù)據(jù)庫存發(fā)生了改變都會同步到另一臺服務(wù)器上,這樣兩臺服務(wù)器互為主從,并且都能向外提供服務(wù)。配置的時候需要注意:主鍵重復(fù),server-id不能重復(fù)。
1.新建數(shù)據(jù)庫
Ubuntu16.04,開啟兩個虛擬機。
配置前,兩個MySQL分別新建一個數(shù)據(jù)庫,保證的test數(shù)據(jù)庫的數(shù)據(jù)一致
create database test default character set utf8 default collate utf8_general_ci;
2.修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
服務(wù)器A(192.168.8.129)配置如下
bind-address = 0.0.0.0
log_bin = /var/log/mysql/mysql-bin.log #開啟二進制日志
server-id = 1 #任意自然數(shù)n,只要保證兩臺MySQL主機不重復(fù)即可
expire-logs-days = 100
replicate-do-db = test #要同步的數(shù)據(jù)庫,默認所有庫
binlog-ignore-db = mysql #忽略mysql庫
binlog-ignore-db = information_schema #忽略information_schema庫
auto-increment-increment = 2 #步進值,有n臺主MySQL就填n
auto-increment-offset = 1 #起始值。第n臺主MySQL,此時為第1主MySQL

嘉蔭網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)建站于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站

服務(wù)器B(192.168.8.131)配置
bind-address = 0.0.0.0
log_bin = /var/log/mysql/mysql-bin.log
server-id = 2
expire-logs-days = 100
replicate-do-db = test
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
auto-increment-increment = 2
auto-increment-offset = 2 #起始值,第2臺主MySQL
二者只有server-id不同和 auto-increment- offset不同
auto-increment-offset是用來設(shè)定數(shù)據(jù)庫中自動增長的起點的,兩個服務(wù)器都設(shè)定了一次自動增長值2,所以它們的起點必須得不同,這樣才能避免兩臺服務(wù)器數(shù)據(jù)同步時出現(xiàn)主鍵沖突
replicate-do-db 指定同步的數(shù)據(jù)庫,我們只在兩臺服務(wù)器間同步test數(shù)據(jù)庫。auto-increment-increment的值應(yīng)設(shè)為整個結(jié)構(gòu)中服務(wù)器的總數(shù),本例用到兩臺服務(wù)器,所以值設(shè)為2
3.重啟mysql服務(wù)
/etc/init.d/mysql restart
4.創(chuàng)建共享用戶
創(chuàng)建一個可以在另一臺主機上登錄的MySQL用戶repl
看是否有mysql中是否有repl這個用戶
use mysql;
select user from user;
Mysql主主復(fù)制配置
若沒有的話,新建用戶
create user 'repl'@'%' IDENTIFIED BY 'passwd';
grant replication slave on . to 'repl'@'%';
flush privileges;
查看repl用戶的權(quán)限
show grants for 'repl'@'%';
Mysql主主復(fù)制配置
5.測試是否能夠遠程登錄
在服務(wù)器A上(192.168.8.129)
mysql -h 192.168.8.131 -u repl –p
輸入口令jvkpxdYrlz
若成功,則繼續(xù)下一步
若失敗,檢查mysqld.cnf文件中的配置,可能因為bind-address=127.0.0.1導(dǎo)致,使得僅允許本機訪問。

  1. 分別查看二進制日志名和位置
    show master status;
    Mysql主主復(fù)制配置
  2. 相互授權(quán)用戶
    在兩臺服務(wù)上分別先停止slave
    stop slave;
    在服務(wù)器A上(192.168.8.129)
    change master to MASTER_HOST='192.168.8.131',MASTER_USER='repl', MASTER_PASSWORD= 'passwd', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154;
    在服務(wù)器B上(192.168.8.131)
    change master to MASTER_HOST='192.168.8.129',MASTER_USER='repl', MASTER_PASSWORD= 'passwd', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=154;
    再啟動slave
    start slave;
    8.查看slave狀態(tài)
    show slave status \G;
    正確結(jié)果如下圖所示:
    Mysql主主復(fù)制配置
    可能出現(xiàn)的情況:
    (1) 當配置完成Slave_IO_Running、Slave_SQL_Running不全為YES時,show slave status\G信息中有錯誤提示,可根據(jù)錯誤提示進行更正。
    (2) Slave_IO_Running、Slave_SQL_Running不全為YES時,大多數(shù)問題都是數(shù)據(jù)不統(tǒng)一導(dǎo)致。
    (3) stop slave后,數(shù)據(jù)變更,再start slave,出錯。重新執(zhí)行一遍CHANGE MASTER即可。
    (4) 若出現(xiàn)如下圖所示錯誤2003,連接不通過,則說明mysqld.cnf 中的bind_address未修改為0.0.0.0。如果要讓mysql監(jiān)聽到其他的地址,可以將bind-address = 127.0.0.1注釋掉,或者將bind-address = 0.0.0.0監(jiān)聽所有的地址
    Mysql主主復(fù)制配置
    (5) 若出現(xiàn)如下圖所示錯誤1045,則說明配置change maseter時輸入的repl用戶的口令錯誤
    Mysql主主復(fù)制配置
    9.測試是否同步成功
    在A上
    create table test_user (id int NOT NULL AUTO_INCREMENT PRIMARY KEY,createtime datetime NOT NULL DEFAULT CURRENT_TIMESTAMP);
    在B上可以看到新增了一個表
    Mysql主主復(fù)制配置
    在B上
    insert into test_user set id=1;
    在A上可以看到test_user表中新增了一條記錄。
    Mysql主主復(fù)制配置

參考網(wǎng)址https://www.cnblogs.com/zping/p/5315827.html
https://www.cnblogs.com/phpstudy2015-6/p/6485819.html#_label7

分享題目:Mysql主主復(fù)制配置
文章路徑:http://muchs.cn/article46/ihgeeg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、網(wǎng)站改版營銷型網(wǎng)站建設(shè)、全網(wǎng)營銷推廣網(wǎng)站設(shè)計、標簽優(yōu)化

廣告

聲明:本網(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è)