您好,登錄后才能下訂單哦!
mysql中怎么實(shí)現(xiàn)主從和主主模式,針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。
mysql 復(fù)制的實(shí)現(xiàn)機(jī)制
1)首先主mysql把操作語句保存在bin-log中
2)從服務(wù)器啟動(dòng)一個(gè)進(jìn)程或線程向主mysql發(fā)起請(qǐng)求
3)從mysql 把主mysql的bin-log中的操作語句復(fù)制的從mysql的relay-log中
4)在從上執(zhí)行這些操作語句
配置
主mysql 這里主要介紹要改變的內(nèi)容(主從就是從各自為主的獨(dú)立模式改變過來的)
1)在/etc/my.cnf 添加或修改如下內(nèi)容
bin-log = mysql.bin-log #定義bin-log的文件名 (默認(rèn)保存在數(shù)據(jù)目錄下)
bin-log-index = mysql.bin-log.index #定義bin-log-index的文件名
binlog-format = mixed #定義binlog的格式
server-id = 1 #一定要確保主mysql的server-id 小于從mysql的server-id
2)啟動(dòng)mysql 和配置
#service mysqld start
#mysql #進(jìn)入mysql
#set password for (‘mima’);
#set password for (‘mima’);
#grant replication slave,replication client on *.* to identified by 'mima'; #賦予username 擁有復(fù)制的權(quán)限
#flush privileges;
#show master status; #查看主mysql的狀態(tài)
從mysql
1)在/etc/my.cnf 添加或修改如下內(nèi)容
relay-log = mysql.relay-log #定義relay-log的文件名 (默認(rèn)保存在數(shù)據(jù)目錄下)
relay-log-index = mysql.relay-log.index #定義relay-log-index的文件名
server-id = 11 #一定要大于主mysql的server-id
2)啟動(dòng)mysql 和配置
#service mysqld start
#mysql #進(jìn)入mysql
#set password for (‘mima’);
#set password for (‘mima’);
#flush privileges;
#change master to master_host='master_ip',master_user='username',master_password='mima';
#鏈接主mysql
#start slave;
#show slave status;
測(cè)試
在主mysql上建立一個(gè)或表,查看從是否自動(dòng)‘復(fù)制’的過來
主主 的模式其實(shí)就是兩邊都是主,同時(shí)互為主從,可以簡單的理解為把主從的配置文件整合一下就行了~~
主主模式有一個(gè)最大的問題就是當(dāng)主從都同時(shí)向同一張表中寫數(shù)據(jù)時(shí),如果對(duì)應(yīng)的id是自動(dòng)增加,這是就有了嚴(yán)重的問題,為了解決這個(gè)問題,需要設(shè)定低端不同的起始值,并指定自動(dòng)增加的變量為2。
關(guān)于mysql中怎么實(shí)現(xiàn)主從和主主模式問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。