本文主要給大家簡(jiǎn)單講講配置MySQL主主同步模式的詳細(xì)步驟,相關(guān)專業(yè)術(shù)語大家可以上網(wǎng)查查或者找一些相關(guān)書籍補(bǔ)充一下,這里就不涉獵了,我們就直奔主題吧,希望配置mysql主主同步模式的詳細(xì)步驟這篇文章可以給大家?guī)硪恍?shí)際幫助。
成都網(wǎng)絡(luò)公司-成都網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)十載經(jīng)驗(yàn)成就非凡,專業(yè)從事網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì),成都網(wǎng)頁設(shè)計(jì),成都網(wǎng)頁制作,軟文發(fā)稿,廣告投放平臺(tái)等。十載來已成功提供全面的成都網(wǎng)站建設(shè)方案,打造行業(yè)特色的成都網(wǎng)站建設(shè)案例,建站熱線:18982081108,我們期待您的來電!
主192.168.56.20 和 從都新建數(shù)據(jù)庫db1 db2 db3(如果數(shù)據(jù)庫在用,需要上鎖后手動(dòng)從主備份,然后在從恢復(fù))
mysql> create database db1;
Query OK, 1 row affected (0.00 sec)
mysql> create database db2;
Query OK, 1 row affected (0.00 sec)
mysql> create database db3;
Query OK, 1 row affected (0.01 sec)
主授權(quán)從的賬號(hào)
grant replication slave on . to 'repl'@'192.168.56.21' identified by 'repl';
flush privileges;
配置文件開啟bin-log
vim /etc/my.cnf
【mysql】
server-id=101 #每個(gè)節(jié)點(diǎn)必須不一樣
log-bin=/var/lib/mysql/mysql-bin
重啟主服務(wù)
service mysqld restart
查看日志文件和偏移量
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 120 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
從192.168.56.21
修改配置文件
vim /etc/my.cnf
server-id=109
重啟從節(jié)點(diǎn)服務(wù)
service mysqld restart
配置從庫
關(guān)閉復(fù)制功能
mysql> stop slave;
mysql>change master to master_host='192.168.56.20',master_user='repl',master_password='repl',master_log_file='mysql-bin.000001',master_log_pos=120;
啟動(dòng)復(fù)制
Mysql>start slave;
檢查復(fù)制功能
mysql>show slave status\G
兩個(gè)進(jìn)程需要yes才正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
在主庫新建數(shù)據(jù)庫,然后去從庫看是否同步,同步表示正常。
create database hi_db;
主從同步配置完畢,現(xiàn)在開始配置主主。
配置主配置文件192.168.56.20
vim /etc/my.cnf
【mysql】
server-id=101 #每個(gè)節(jié)點(diǎn)必須不一樣
log-bin=/var/lib/mysql/mysql-bin
auto_increment_increment=2 #步進(jìn)值auto_imcrement。一般有n臺(tái)主MySQL就填n
auto_increment_offset=1 #起始值。一般填第n臺(tái)主MySQL。此時(shí)為第一臺(tái)主MySQL
#binlog-ignore=mysql #忽略mysql庫【我一般都不寫】
#binlog-ignore=information_schema #忽略information_schema庫【我一般都不寫】
#replicate-do-db=aa #要同步的數(shù)據(jù)庫,默認(rèn)所有庫
重啟主節(jié)點(diǎn)服務(wù)
service mysqld restart
配置從配置文件192.168.56.21
vim /etc/my.cnf
server-id=109
log-bin=/var/lib/mysql/mysql-bin
auto_increment_increment=2 #步進(jìn)值auto_imcrement。一般有n臺(tái)主MySQL就填n
auto_increment_offset=2 #起始值。一般填第n臺(tái)主MySQL。此時(shí)為第2臺(tái)主MySQL
重啟從節(jié)點(diǎn)服務(wù)
service mysqld restart
在從節(jié)點(diǎn)創(chuàng)建主復(fù)制的賬號(hào)
grant replication slave on . to 'repl1'@'192.168.56.20' identified by 'repl1';
flush privileges;
查看二進(jìn)制文件
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 420 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
在主執(zhí)行
關(guān)閉復(fù)制功能
mysql> stop slave;
mysql>change master to master_host='192.168.56.21',master_user='repl1',master_password='repl1',master_log_file='mysql-bin.000001',master_log_pos=420;
啟動(dòng)復(fù)制
Mysql>start slave;
檢查復(fù)制功能
mysql>show slave status\G
兩個(gè)進(jìn)程需要yes才正常
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
然后分別在雙方創(chuàng)建數(shù)據(jù)庫,看看是否都同步。
1、主主復(fù)制配置文件中auto_increment_increment和auto_increment_offset只能保證主鍵不重復(fù),卻不能保證主鍵有序。
2、當(dāng)配置完成Slave_IO_Running、Slave_SQL_Running不全為YES時(shí),show slave status\G信息中有錯(cuò)誤提示,可根據(jù)錯(cuò)誤提示進(jìn)行更正。 3、Slave_IO_Running、Slave_SQL_Running不全為YES時(shí),大多數(shù)問題都是數(shù)據(jù)不統(tǒng)一導(dǎo)致。 常見出錯(cuò)點(diǎn): 1、兩臺(tái)數(shù)據(jù)庫都存在db數(shù)據(jù)庫,而第一臺(tái)MySQL db中有tab1,第二臺(tái)MySQL db中沒有tab1,那肯定不能成功。 2、已經(jīng)獲取了數(shù)據(jù)的二進(jìn)制日志名和位置,又進(jìn)行了數(shù)據(jù)操作,導(dǎo)致POS發(fā)生變更。在配置CHANGE MASTER時(shí)還是用到之前的POS。 3、stop slave后,數(shù)據(jù)變更,再start slave。出錯(cuò)。
終極更正法:重新執(zhí)行一遍CHANGE MASTER就好了。
配置mysql主主同步模式的詳細(xì)步驟就先給大家講到這里,對(duì)于其它相關(guān)問題大家想要了解的可以持續(xù)關(guān)注我們的行業(yè)資訊。我們的板塊內(nèi)容每天都會(huì)捕捉一些行業(yè)新聞及專業(yè)知識(shí)分享給大家的。