<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
特點:在雙主設定中,兩臺mysql互為主從節點。節點A是節點B的master,同時節點B也是節點A的master。
安裝mysql步驟略過
# 設定server-id,兩節點必須不一樣 server-id = 100 # 開啟bin_log,模式為ROW,允許最大紀錄檔為1G log_bin = mysql-bin binlog_format = ROW max_binlog_size = 1024M # mysql5.7的版本不需要設定log-slave-updates=1 # log-slave-updates = 1 # 實現資料庫宕機恢復後,自動同步缺少的資料 relay_log = mysql-relay-bin # 設定自增ID初始值為2,每次自增量為2。即都是偶數2,4,6,8,... auto_increment_offset = 2 auto_increment_increment = 2 # 開啟gtid gtid_mode = ON enforce_gtid_consistency = 1 # 忽略不需要同步的schema replicate-ignore-db = mysql replicate-ignore-db = information_schema replicate-ignore-db = performance_schema replicate-ignore-db = sys
只列出了與節點A不同的設定
# 設定server-id,兩節點必須不一樣 server-id = 200 # 設定自增ID初始值為1,每次自增量為2。即都是奇數1,3,5,7,... auto_increment_offset = 1 auto_increment_increment = 2
節點A為master,節點B為slave。
(1)登入節點A,建立slave(節點B)使用的賬號。
# 在節點A上建立賬號repl_user,允許從任意IP存取,密碼為slave@100, grant replication slave on *.* to 'repl_user'@'%' identified by 'slave@100'; flush privileges;
(2)檢視節點A的master資訊
如下圖所屬,節點A的bin_log紀錄檔為mysql-bin.000001,位置是154
# 清空master資訊。初次設定可以使用,若已執行了同步,切記不要使用! reset master; # 檢視master資訊 show master status; +------------------+----------+--------------+------------------+---------------------------------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set | +------------------+----------+--------------+------------------+---------------------------------------------+ | mysql-bin.000001 | 154 | | | c2cf218e-2317-11ec-a36f-5cf9dd4fd6a8:1-5 | +------------------+----------+--------------+------------------+---------------------------------------------+
(3)登入節點B,設定節點B的master為節點A
# 停止節點B上的slave stop slave; # 將節點B的master設為節點A,以下的設定資訊均表示節點A # MASTER_LOG_FILE和MASTER_LOG_POS,是在第(2)步中檢視節點A的master資訊 CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_PORT=3307, MASTER_USER='repl_user', MASTER_PASSWORD='slave@100', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154; # 開啟節點B上的slave start slave;
(4)確認節點B的slave是否執行成功。當返回的結果中,Slave_IO_Running和Slave_SQL_Running都為YES時,表示成功。如果為NO或Connecting時,請在mysql的data目錄中檢視.err結尾的紀錄檔檔案,找出[ERROR]級別的紀錄檔檢視。初次設定時,一般都是my.ini設定問題,或同步賬號建立問題導致的。
# 在節點B中檢視slave狀態 show slave statusG; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 127.0.0.1 Master_User: repl_user Master_Port: 3307 Connect_Retry: 60 Master_Log_File: mysql-bin.000001 Read_Master_Log_Pos: 2207 Relay_Log_File: mysql-relay-bin.000002 Relay_Log_Pos: 1143 Relay_Master_Log_File: mysql-bin.000001 Slave_IO_Running: Yes Slave_SQL_Running: Yes ......
(5)若slave設定出現異常,可使用以下語句重置
reset slave all;
此時,已成功設定了節點A與節點B的主從模式,即節點A是節點B的master。接下來重複步驟三的操作,但是節點A、B的操作要顛倒過來,即在節點B上建立同步賬號,檢視master資訊,在節點A上設定節點B為master。設定完成後,同樣檢視節點A的slave狀態,Slave_IO_Running和Slave_SQL_Running是否都為YES。
在節點A新增、刪除schema或表或資料,在節點B中檢視是否有正確同步。
測試自增主鍵,分別在節點A、B上新增自增主鍵的資料,與組態檔是否對應。一個為奇數,一個為偶數。增加或刪除資料,主鍵是否會出現衝突的情況。
通過修改my.ini實現
(1)在master端控制
binlog-do-db binlog紀錄檔記錄的資料庫(多資料庫用,隔開)
binlog-ignore-db binlog紀錄檔中忽略資料庫(多資料庫用,隔開)
只有在binlog中記錄的表,才能同步給從庫
# binlog中記錄這兩個表 binlog-do-db=db_1,db_2 # binlog中不記錄這兩個表 binlog-ignore-db=db_3,db_4
(2)在slave端控制
replicate-do-db 設定需要複製的資料庫
replicate-ignore-db 設定需要忽略的複製資料庫
replicate-do-table 設定需要複製的表
replicate-ignore-table 設定需要忽略的複製表
replicate-wild-do-table 同replication-do-table功能一樣,可以萬用字元
replicate-wild-ignore-table 同replication-ignore-table功能一樣,可以加萬用字元
注:忽略的設定裡,在從庫的relaylog中仍有資訊,只是沒有執行同步。
# 執行同步的庫 replicate-do-db=db_1 replicate-do-db=db_2 # 忽略同步的庫 replicate-ignore-db=db_3 # 執行同步的表 replicate-do-table=db_1.table_a replicate-do-table=db_2.table_b # 忽略同步的表 replicate-ignore-table=db_2.table_c # 只複製哪個庫的哪個表 replicate-wild-do-table=db_4.% # 忽略哪個庫的哪個表 replicate-wild-ignore-table=mysql.%
第五部分參照自CSDN博主「Mr. Sun_」的原創文章
原文連結:https://www.jb51.net/article/252656.htm
當一臺mysql作為主節點,N臺作為從節點時,如果每個從節點都新增一個賬號會非常繁瑣。此時可以在主節點中,建立一個賬號,給此賬號設定多個IP,從而減少新增的賬號個數。
具體做法是,將建立賬號的語句執行多次,每次的IP不同即可。
# 建立一個賬號名,為此賬號設定多個ip grant replication slave on *.* to 'repl_user'@'192.168.5.10' identified by 'slave@100'; grant replication slave on *.* to 'repl_user'@'192.168.5.20' identified by 'slave@100'; FLUSH PRIVILEGES
第六部分參照自CSDN博主「rucypli」的回答
到此這篇關於Mysql雙主設定的文章就介紹到這了,更多相關Mysql雙主設定內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45