MySQL 互為主備的實現(xiàn)教程
mysql互為主備
A<-->B 數(shù)據(jù)互通 首先A客戶機和B客戶機要互通 為了方便使用,本文ip不再以明文方式顯示 "C:\Windows\System32\drivers\etc\hosts" 在這里修改ip 192.168.124.88 node1 192.168.124.44 node2 其中node1和node2為客戶機ip 數(shù)據(jù)庫A 為node1,數(shù)據(jù)庫B 為node2
數(shù)據(jù)庫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ù)庫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ù)?。。。。。。。?!
這個過程中,千萬不要動msyql數(shù)據(jù),不然前功盡棄!?。?/h2>
數(shù)據(jù)庫A操作
STOP REPLICA; RESET REPLICA ALL; RESET MASTER; --必須執(zhí)行,且執(zhí)行后不得再有任何數(shù)據(jù)庫操作 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ù)庫B操作
STOP REPLICA; RESET REPLICA ALL; RESET MASTER; 如果在數(shù)據(jù)庫A已經(jīng)創(chuàng)建,數(shù)據(jù)庫B中可以無需操作,會自動同步過來 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ù)庫數(shù)據(jù)了!?。?/p>
先把數(shù)據(jù)庫A做主,B做從
在B數(shù)據(jù)庫中執(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é)束了
驗證是否互通
-- 驗證是否互通 SHOW REPLICA STATUS;
查詢結(jié)果看這三個字段
Replica_IO_Running: Yes Replica_SQL_Running: Yes Seconds_Behind_Source: 0
此時 A->B完成
最好是通了再做下面的
再把數(shù)據(jù)庫B做主,A做從
在A數(shù)據(jù)庫中執(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é)束了
驗證是否互通
-- 驗證是否互通 SHOW REPLICA STATUS;
查詢結(jié)果看這三個字段
Replica_IO_Running: Yes Replica_SQL_Running: Yes Seconds_Behind_Source: 0
此時 B->A完成
這個過程中,千萬不要動msyql數(shù)據(jù),不然前功盡棄?。?!
到此這篇關(guān)于MySQL 互為主備的實現(xiàn)教程的文章就介紹到這了,更多相關(guān)MySQL 互為主備內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
ERROR 1862 (HY000): Your password has expired. To log in you
當你在安裝 MySQL過程中,通過mysqld --initialize 初始化 mysql 操作后,生成臨時密碼后,沒有直接進行 MySQL連接,中途重啟服務(wù)或者重啟機器等,導(dǎo)致密碼失效問題,怎么處理呢,感興趣的朋友一起看看吧2019-11-11
MySQL實現(xiàn)數(shù)據(jù)批量更新功能詳解
最近需要批量更新大量數(shù)據(jù),習(xí)慣了寫sql,所以還是用sql來實現(xiàn),下面這篇文章主要給大家總結(jié)介紹了關(guān)于MySQL批量更新的方式,需要的朋友可以參考下2023-02-02
MySQL中處理數(shù)據(jù)的并發(fā)一致性的實現(xiàn)示例
在MySQL中處理數(shù)據(jù)的并發(fā)一致性是確保多個用戶或應(yīng)用程序同時訪問和修改數(shù)據(jù)庫時,不會導(dǎo)致數(shù)據(jù)沖突、數(shù)據(jù)丟失或數(shù)據(jù)不一致,MySQL通過事務(wù)和鎖機制來管理并發(fā),下面就來詳細的了解一下2025-08-08

