当前位置:网站首页> Mysql双主配置的详细步骤
Mysql双主配置的详细步骤
2022-06-23 14:20:00 【1024问】
前言
一、mysql配置文件
(1)节点A配置
(2)节点B配置
二、配置节点A为节点B的master(主从模式)
三、完成双主配置
四、测试
五、控制同步的库或表
六、一个账号多个IP
总结
前言特点:在双主配置中,两台mysql互为主从节点。节点A是节点B的master,同时节点B也是节点A的master。
安装mysql步骤略过
一、mysql配置文件(1)节点A配置# 设置server-id,两节点必须不一样server-id = 100# 开启bin_log,模式为ROW,允许最大日志为1Glog_bin = mysql-binbinlog_format = ROWmax_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 = 2auto_increment_increment = 2# 开启gtidgtid_mode = ONenforce_gtid_consistency = 1# 忽略不需要同步的schemareplicate-ignore-db = mysqlreplicate-ignore-db = information_schemareplicate-ignore-db = performance_schemareplicate-ignore-db = sys(2)节点B配置只列出了与节点A不同的配置
# 设置server-id,两节点必须不一样server-id = 200# 设置自增ID初始值为1,每次自增量为2。即都是奇数1,3,5,7,...auto_increment_offset = 1auto_increment_increment = 2二、配置节点A为节点B的master(主从模式)节点A为master,节点B为slave。
(1)登录节点A,创建slave(节点B)使用的账号。
# 在节点A上创建账号repl_user,允许从任意IP访问,密码为sla[email protected],grant replication slave on *.* to 'repl_user'@'%' identified by '[email protected]';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上的slavestop 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='[email protected]', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=154;# 开启节点B上的slavestart slave;(4)确认节点B的slave是否运行成功。当返回的结果中,Slave_IO_Running和Slave_SQL_Running都为YES时,表示成功。如果为NO或Connecting时,请在mysql的data目录中查看.err结尾的日志文件,找出[ERROR]级别的日志查看。初次配置时,一般都是my.ini配置问题,或同步账号创建问题导致的。
# 在节点B中查看slave状态show slave status\G;*************************** 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_1replicate-do-db=db_2# 忽略同步的库replicate-ignore-db=db_3# 执行同步的表replicate-do-table=db_1.table_areplicate-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
六、一个账号多个IP当一台mysql作为主节点,N台作为从节点时,如果每个从节点都添加一个账号会非常繁琐。此时可以在主节点中,创建一个账号,给此账号设置多个IP,从而减少添加的账号个数。
具体做法是,将创建账号的语句执行多次,每次的IP不同即可。
# 创建一个账号名,为此账号设置多个ipgrant replication slave on *.* to 'repl_user'@'192.168.5.10' identified by '[email protected]';grant replication slave on *.* to 'repl_user'@'192.168.5.20' identified by '[email protected]';FLUSH PRIVILEGES第六部分引用自CSDN博主「rucypli」的回答
mysql grant 多个ip-CSDN论坛
总结到此这篇关于Mysql双主配置的文章就介绍到这了,更多相关Mysql双主配置内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!
边栏推荐
- 物流贸易相关
- 2021-05-08
- WebService接口发布和调用
- 建議自查!MySQL驅動Bug引發的事務不回滾問題,也許你正面臨該風險!
- k8s--部署单机版MySQL,并持久化
- Pyqt5 工具盒使用
- The second Tencent light · public welfare innovation challenge was launched, and the three competition topics focused on the social value of sustainable development
- 这届文娱人,将副业做成了主业
- How does activity implement lifecycleowner?
- Google &huggingface| zero sample language model structure with the strongest ability
猜你喜欢

小米为何深陷芯片泥潭?

From the establishment to the actual combat of the robotframework framework, I won't just read this learning note

如何使用笔记软件 FlowUs、Notion 进行间隔重复?基于公式模版

KDD'22「阿里」推荐系统中的通用序列表征学习

2021-04-15

Gold three silver four, busy job hopping? Don't be careless. Figure out these 12 details so that you won't be fooled~
![[datahub] LinkedIn datahub learning notes](/img/ca/9c4a87d38155edd093cbb81d81ee81.png)
[datahub] LinkedIn datahub learning notes
![[compréhension approfondie de la technologie tcaplusdb] données de construction tcaplusdb](/img/0c/33d9387cd7733a0c6706a73f9535f7.png)
[compréhension approfondie de la technologie tcaplusdb] données de construction tcaplusdb

The company has only one test, but the leader asked me to operate 1000 mobile numbers at the same time

General sequence representation learning in kdd'22 "Ali" recommendation system
随机推荐
Selenium Edge的IE模式
【云驻共创】制造业企业如何建设“条码工厂”
The new version of Alibaba Seata finally solves the idempotence, suspension and empty rollback problems of the TCC mode
How to use note taking software flowus and note for interval repetition? Based on formula template
从3开始,在业务系统中增加分页功能
The team of China University of Mines developed an integrated multi-scale deep learning model for RNA methylation site prediction
[compréhension approfondie de la technologie tcaplusdb] données de construction tcaplusdb
Helm 基础入门 Helm介绍与安装
2022 ICT market in China continues to rise and enterprise digital infrastructure is imperative
Error creating bean with name xxx Factory method ‘sqlSessionFactory‘ threw exception; nested excepti
2021-06-07
中国矿大团队,开发集成多尺度深度学习模型,用于 RNA 甲基化位点预测
golang--文件的多个处理场景
杀入美团、饿了么腹地,京东外卖劲儿有多大?
General sequence representation learning in kdd'22 "Ali" recommendation system
k8s--部署单机版MySQL,并持久化
Thinking and Practice on Quality Standardization (suitable for product, development, testing and management post learning)
谷歌&HuggingFace| 零样本能力最强的语言模型结构
【云驻共创】智能供应链计划:提升供应链决策水平,帮助企业运营降本增效
RF Analyzer Demo搭建