MySQL 互為主備的實(shí)現(xiàn)教程
mysql互為主備
A<-->B 數(shù)據(jù)互通 首先A客戶機(jī)和B客戶機(jī)要互通 為了方便使用,本文ip不再以明文方式顯示 "C:\Windows\System32\drivers\etc\hosts" 在這里修改ip 192.168.124.88 node1 192.168.124.44 node2 其中node1和node2為客戶機(jī)ip 數(shù)據(jù)庫(kù)A 為node1,數(shù)據(jù)庫(kù)B 為node2
數(shù)據(jù)庫(kù)A配置
加到my.ini中 (C:\ProgramData\MySQL\MySQL Server 8.0)
server-id=1 log-bin=mysql-bin binlog_format=ROW gtid_mode=ON enforce_gtid_consistency=ON log_slave_updates=ON auto_increment_increment=2 auto_increment_offset=1
數(shù)據(jù)庫(kù)B配置
加到my.ini中
server-id=2 log-bin=mysql-bin binlog_format=ROW gtid_mode=ON enforce_gtid_consistency=ON log_slave_updates=ON auto_increment_increment=2 auto_increment_offset=2
配置保存后重啟mysql
數(shù)據(jù)該同步同步,后面不可以再操作數(shù)據(jù)?。。。。。。。?!
這個(gè)過(guò)程中,千萬(wàn)不要?jiǎng)觤syql數(shù)據(jù),不然前功盡棄!??!
數(shù)據(jù)庫(kù)A操作
STOP REPLICA; RESET REPLICA ALL; RESET MASTER; --必須執(zhí)行,且執(zhí)行后不得再有任何數(shù)據(jù)庫(kù)操作 CREATE USER 'repl'@'%' IDENTIFIED BY 'Repl@123456'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; -- 下面兩條是為了改密碼配置,8.0以上直接執(zhí)行就行 ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Repl@123456'; FLUSH PRIVILEGES;
數(shù)據(jù)庫(kù)B操作
STOP REPLICA; RESET REPLICA ALL; RESET MASTER; 如果在數(shù)據(jù)庫(kù)A已經(jīng)創(chuàng)建,數(shù)據(jù)庫(kù)B中可以無(wú)需操作,會(huì)自動(dòng)同步過(guò)來(lái) CREATE USER 'repl'@'%' IDENTIFIED BY 'Repl@123456'; GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; FLUSH PRIVILEGES; ALTER USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY 'Repl@123456'; FLUSH PRIVILEGES;
前置條件完成
不可操作任何數(shù)據(jù)庫(kù)數(shù)據(jù)了?。?!
先把數(shù)據(jù)庫(kù)A做主,B做從
在B數(shù)據(jù)庫(kù)中執(zhí)行
CHANGE REPLICATION SOURCE TO SOURCE_HOST='node1', SOURCE_PORT=3306, SOURCE_USER='repl', SOURCE_PASSWORD='Repl@123456', SOURCE_AUTO_POSITION=1; START REPLICA; -- 到這就結(jié)束了
驗(yàn)證是否互通
-- 驗(yàn)證是否互通 SHOW REPLICA STATUS;
查詢結(jié)果看這三個(gè)字段
Replica_IO_Running: Yes Replica_SQL_Running: Yes Seconds_Behind_Source: 0
此時(shí) A->B完成
最好是通了再做下面的
再把數(shù)據(jù)庫(kù)B做主,A做從
在A數(shù)據(jù)庫(kù)中執(zhí)行
CHANGE REPLICATION SOURCE TO SOURCE_HOST='node2', SOURCE_PORT=3306, SOURCE_USER='repl', SOURCE_PASSWORD='Repl@123456', SOURCE_AUTO_POSITION=1; START REPLICA; -- 到這就結(jié)束了
驗(yàn)證是否互通
-- 驗(yàn)證是否互通 SHOW REPLICA STATUS;
查詢結(jié)果看這三個(gè)字段
Replica_IO_Running: Yes Replica_SQL_Running: Yes Seconds_Behind_Source: 0
此時(shí) B->A完成
這個(gè)過(guò)程中,千萬(wàn)不要?jiǎng)觤syql數(shù)據(jù),不然前功盡棄?。?!
到此這篇關(guān)于MySQL 互為主備的實(shí)現(xiàn)教程的文章就介紹到這了,更多相關(guān)MySQL 互為主備內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ERROR 1862 (HY000): Your password has expired. To log in you
當(dāng)你在安裝 MySQL過(guò)程中,通過(guò)mysqld --initialize 初始化 mysql 操作后,生成臨時(shí)密碼后,沒(méi)有直接進(jìn)行 MySQL連接,中途重啟服務(wù)或者重啟機(jī)器等,導(dǎo)致密碼失效問(wèn)題,怎么處理呢,感興趣的朋友一起看看吧2019-11-11
微信公眾平臺(tái)開(kāi)發(fā) 數(shù)據(jù)庫(kù)操作
這篇文章主要介紹了微信公眾平臺(tái)開(kāi)發(fā) 數(shù)據(jù)庫(kù)操作的相關(guān)資料,需要的朋友可以參考下2016-10-10
MySQL8.x連接5.x 服務(wù)器認(rèn)證問(wèn)題解決
MySQL 8.0與5.x認(rèn)證插件不兼容,需在客戶端指定使用mysql_native_password,下面就來(lái)介紹一下如何解決,感興趣的可以了解一下2025-08-08
MySQL實(shí)現(xiàn)數(shù)據(jù)批量更新功能詳解
最近需要批量更新大量數(shù)據(jù),習(xí)慣了寫(xiě)sql,所以還是用sql來(lái)實(shí)現(xiàn),下面這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL批量更新的方式,需要的朋友可以參考下2023-02-02
MySQL中處理數(shù)據(jù)的并發(fā)一致性的實(shí)現(xiàn)示例
在MySQL中處理數(shù)據(jù)的并發(fā)一致性是確保多個(gè)用戶或應(yīng)用程序同時(shí)訪問(wèn)和修改數(shù)據(jù)庫(kù)時(shí),不會(huì)導(dǎo)致數(shù)據(jù)沖突、數(shù)據(jù)丟失或數(shù)據(jù)不一致,MySQL通過(guò)事務(wù)和鎖機(jī)制來(lái)管理并發(fā),下面就來(lái)詳細(xì)的了解一下2025-08-08

