首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

双主服务器的搭建方式

双主服务器架构是指两台服务器互相将对方作为自己的主服务器,同时各自也作为对方的从服务器进行数据复制。这种架构主要用于对数据库写操作要求较高的环境,能够避免单点故障,确保系统的高可用性。以下是双主服务器的基础概念、搭建方式、应用场景以及可能遇到的问题和解决方案:

搭建方式

  1. 环境准备:确保两台服务器可以互相通信,并安装相同版本的数据库软件。
  2. 配置文件修改:在两台服务器上修改数据库配置文件,设置server-idlog-bin等关键参数,确保每个服务器都有一个唯一的server-id,并开启二进制日志功能。
  3. 创建复制用户:在两个服务器上创建专门的复制用户,并设置强密码。
  4. 锁定表并获取二进制日志位置:在主服务器上锁定表并获取二进制日志的位置,然后在从服务器上设置复制参数,指向主服务器的二进制日志位置。
  5. 配置复制:在从服务器上设置复制主服务器的参数,包括主服务器的IP地址、复制用户名和密码等。
  6. 启动复制:在两台服务器上分别执行START SLAVE;命令启动复制。
  7. 检查复制状态:通过执行SHOW SLAVE STATUS \G;命令检查复制状态,确保Slave_IO_RunningSlave_SQL_Running的值都为Yes。

应用场景

双主服务器架构适用于需要高可用性和数据一致性的场景,如电子商务平台、社交媒体应用、在线游戏等。

可能遇到的问题及解决方案

  • 数据冲突:两个主节点可能同时写入相同的数据。解决方案是使用更复杂的冲突解决机制,或者在业务逻辑层面避免同时写入相同数据。
  • 数据同步延迟:数据同步可能需要较长时间,导致短暂的数据不一致。可以通过优化网络环境和调整复制参数来减少延迟。
  • 系统复杂性:双主架构比单主架构更复杂,需要更多的维护和管理。通过使用自动化工具和脚本简化维护流程。

通过上述步骤和注意事项,可以有效地搭建和管理双主服务器架构,确保系统的高可用性和数据一致性。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用Bucardo搭建PG的双主

简介 OGG方式实现双主可以参考: https://www.xmmup.com/shiyongogg-for-pgweifuwukuaisushuangxiangtongburdsshujukushuangzhu.html...,其依赖PG数据库的plperl语言组件,进而严格依赖perl的版本(数据库服务器安装的perl大版本号必须和官方说明的perl版本严格一致,小版本号不限制)。...Bucardo 可以实现PostgreSQL数据库的双master/多master的方案。...守护进程需要的所有特定信息都存储在主bucardo数据库中,包括复制所涉及的所有数据库的列表以及如何到达这些数据库、要复制的所有表以及如何复制每个表。...同步被称为复制操作,将一组特定的表从一台服务器复制到另一台服务器或一组服务器。 一旦设置好Bucardo,触发器就开始存储有关所有相关的表中哪些行被更改的信息。

2K30
  • MyCat07——搭建双主双从模式

    1 MySQL双主双从原理为了分担单台数据库服务器的压力,采用了一主一从模式,对数据进行了读取操作的分离;但是如果 master 发生故障时,整个数据库将不可用。...为了进一步提高数据库的高可用,采用双主双从架构,两台主库,分别将对方作为自己的master,自己作为对方的 slave 来进行复制。...1master1192.168.137.333662slave1192.168.137.333773master2192.168.137.333884slave2192.168.137.333993 环境搭建...从服务器I/O线程将主服务器的二进制日志读取过来记录到从服务器本地文件,然后SQL线程会读取relay-log日志的内容并应用到从服务器,从而使从服务器和主服务器的数据保持一致。...重新启动mycatmycat restart双主双从的读写分离架构,创建完成。我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

    48711

    MySQL + Keepalived 双主热备搭建

    什么是双主复制 在传统的主从复制架构中,从库仅仅是作为主库数据的备份,当主库发生故障时,数据库将停止对外提供服务,并且主库故障后手动进行主从切换的过程也较为繁琐。...为了解决这个问题,可以采用 MySQL 双主模式,其中一台主库提供服务,另一台作为热备。结合 keepalived 使用虚拟 IP 对外提供服务,一旦主库发生故障,备库可以在很短的时间内接管服务。...MySQL 双主同步 准备工作 创建相关目录 #创建用户 userdel -r mysql groupadd mysql useradd -r -g mysql -s /bin/false mysql...指定认证方式 auth_pass mysql # 指定认证所使用的密码 mysql ,主备都一样 } track_script {...# 指定认证方式 auth_pass mysql # 指定认证所使用的密码 mysql ,主备都一样 } notify_master

    5.3K21

    linux上mysql MM(双主)及keepalived搭建

    ,其必须存在    smtp_server 10.1.1.11    #配置连接smtp服务器的超时时间    smtp_connect_timeout 30    #设置运行Keepalived实例的标识...,数字越大优先级越高,一个实例中主服务器优先级要高于备服务器     priority 50       #配置主备服务器间同步检查的时间间隔(秒)     advert_int 1     #配置服务器抢占模式...配置验证类型和密码     authentication {         #两种验证类型{PASS|HA}         auth_type PASS         #指定验证密码,一个实例中的主备服务器密码要一样...,数字越大优先级越高,一个实例中主服务器优先级要高于备服务器     priority 49     #配置主备服务器间同步检查的时间间隔(秒)     advert_int 1     #配置服务器抢占模式...配置验证类型和密码     authentication {         #两种验证类型{PASS|HA}         auth_type PASS         #指定验证密码,一个实例中的主备服务器密码要一样

    97600

    MySQL的双主复制介绍

    MySQL的双主复制 今天搭建了一套双主复制的架构,这种架构包含两台服务器,每一台都被配置成对方的主库和备库,是一种特殊的主从,架构图如下: ?...这种架构的应用场景是解决两个处于不同地理位置的服务器都要写入数据的时候。...=2; auto_increment_offset=2; 也就是说,A服务器从1开始,每次按照步长为2进行自增,保证它的id值全部都是奇数,B服务器从2开始,每次按照步长为2进行自增,保证它的id...除了数据不同步之外,还可能出现问题,假如正常的复制发生了错误停止了,但是应用仍然在像两台服务器上写数据,那么两台服务器上的数据都成了脏数据,解决这个数据恢复的问题将会非常麻烦。...综上所述,这种架构,目前来看,是已经被淘汰掉了,可以选用主动---被动模式下的双主复制来进行替代,具体有时间再分析吧。 时间原因,今天就先到这里吧。

    3.4K10

    Keepalived+Nginx+Apache主备及双活搭建测试

    keepalived+nginx高可用有主备和双活两种方式。...主备方式下对外提供一个vip,同时只有一台服务器工作,另一台作备机;双活方式下对外提供两个vip,两台机器互为备份,下面详细说明搭建测试步骤。 主备模式 架构图: ?...发现访问vip还是以轮询方式访问后端web服务器,此时对外提供服务器的为nginx02,nginx01相当于宕机状态。 双活模式 架构图: ?...总结:       1.主备模式对外只提供一个vip,访问便捷,但同时只有一台服务器对外提供服务;       2.双活模式对外提供两个vip,访问比较麻烦,但同时又两台服务器对外提供服务;      ...3.不管主备模式还是双活模式都能高可用运行。

    2.5K20

    使用OGG 微服务搭建PostgreSQL双主实时同步架构

    类似文章 OGG有传统的经典架构,也有最新的微服务,2个都可以远程捕获和应用数据,对数据库服务器是0侵入,而传统的经典架构是纯命令行模式,最新的微服务架构是图形化界面操作,几乎所有操作都可以在界面进行。...https://www.xmmup.com/shiyongoggweifuwukuaisushuangxiangtongburdsshujuku.html OGG用于跨云RDS for MySQL之间配置双主实时同步...oggyongyukuayunrdszhijianpeizhishuangzhushishitongbuyuanchengbuhuohetoudi.html otter用于跨云RDS for mysql之间配置双主实时同步...:https://www.xmmup.com/otteryongyukuayunrdszhijianpeizhishuangzhushishitongbu.html OGG用于PG数据库之间双主实时同步...192.168.66.35:19000 ,用户名:oggadmin,密码:lhr 创建身份证明 或直接访问:http://192.168.66.35:19001/ 创建检查点表 由于我们要配置双主

    2.2K10

    Mycat中间件实现一主一从和双主双从的读写分离

    我们分别来介绍这两种方式: **一主一从:**是一个主数据库一个从数据库,如果我们对主数据库进行写入操作,那么从数据库也会执行相应的操作。...笔者把一主多从也归为这种方式,因为一主多从其实也就是增加多几个从数据库而已,具体的结构每个变动太大。...当主数据库服务器挂掉了,那么就无法进行写入数据,整个数据库就无法正常工作了。...所以双主双从或者多主多从的出现就是为了解决这个问题的,在双主双从模式下(M1 ->S1 , M2->S2,M1->M2,M2->M1并且 M1 与 M2 互为主备),这种双主双从的模型,只要我们对M1或者...经过在Mycat上查询,发现结果如预想的一样,所以证明了是读写分离的。 ? 双主双从读写分离 在这一部分,我们来实现双主双从读写分离,主要在上一步的基础之上做一些修改。

    2K20

    配置MySQL主从双主引发的反思 原

    记一次mysql配置双主全过程 [danger] 强烈建议在执行本节所有操作前将所有操作命令操作copy到Sublime Text编辑器替换port为要配置主从的mysql实例对应的端口,避免误操作...搭建mysql双主结构 配置文件 数据库配置示例文件(Attention: 因为数据库要配置双主模式,所以在部署时主库和从库的server-id一定不能一样): $ cat 3314.cnf [mysqld3314...MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=2954215; mysql> start slave; mysql> show slave status\G ## 搭建完成后用同样的方式...(插入数据)检测双主状态!!!...问题处理 如果搭建过程中发现slave状态错误,应立刻停止slave(stop slave),检测操作步骤,排查错误,重建主从! 如果是恢复双主中的一个节点,必须先停止2个节点主从同步。

    96430

    轻量服务器搭建私有云端双链笔记软件

    什么是私有云端双链笔记?...Blossom 是一款支持私有部署的云端存储双链笔记软件 ,你可以将你所有的笔记,图片,个人计划安排保存在自己的服务器中,并在任意设备之间实时同步,同时,Blossom 还是一个动态博客。...不依赖任何三方存储和图床,其本身就是一个图床,并且提供了完善的图片管理,防勿删,以及图片和文章的双向关系绑定。...下面用双十一买的轻量服务器搭建 传送门1.环境配置,我这里的是宝塔面板已经安装docker2.拉取 MySQL 镜像并启动(如果已安装数据库,可以跳过该步骤。)...自行GitHub搜索 Blossom下载最后搭建好后可以多端写文章了,不怕数据丢失反正在自己的服务器这次双十一活动不错,老用户也能抢36元一年的2C2G4M的轻量服务器,抢到的小伙伴搭个笔记软件玩玩也是不错的

    10910

    运用双腾讯云搭建《饥荒》多人联机服务器

    解决思路: 据了解和测试,腾讯云的服务器单核处理性能是阿里云的1.5至2倍(经游戏测试,阿里云服务器在控制台调出300只蜜蜂的时候开始卡顿,而腾讯云在600只的时候才开始卡顿)。...故选择腾讯云作为联机服务器搭建平台。由于《饥荒》游戏里分为地上世界及地下世界,在同一个服务器上搭建的话,服务器荷载较大,游戏体验也会降低。...故在两个服务器上分别搭建两个世界,然后通过端口将两个世界连接起来,从而使服务器容纳人数提升1.5到2倍,且降低延迟和卡顿出现的机率。...demo待完善的部分: 如果有条件的话,可以把搭建好的云服务器镜像上传到镜像市场,免去一步步搭建的烦恼,一步到位。 目前的服务器管理脚本比较简陋,可以再进行完善。...由于之前出的教程是用阿里云搭建的,故不方便公开展示,仅供参考,链接见附录。

    14.6K00

    haproxy实现mysql双主高可用的详细过程

    一、安装haproxy 1.找到haproxy的包 http://pkgs.fedoraproject.org/repo/pkgs/haproxy/haproxy-1.7.9.tar.gz 也可以直接用...在两台数据库添加权限 GRANT ALL ON *.* TO 'haproxy'@'192.168.1.%' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; 2.在haproxy这台服务器远程登录到...mysql服务器,测试 yum install -y mysql (若没有mysql客户端,安装) mysql -uhaproxy -p123456 -h 192.168.1.78 mysql -uhaproxy...-p123456 -h 192.168.1.77 3.测试haproxy 在其他的服务器上输入(haproxy的服务器地址192.168.88): mysql -uhaproxy -p123456 -...h 192.168.88 -P 7306 是否能连接到数据库 7306是在配置文件中设置的端口,通过haproxy的7306端口访问mysql的3306端口 4.页面访问 浏览器输入http://192.168.1.88

    3.9K40

    利用keepalived实现mysql双主高可用的详细过程

    /var/log/messages里面,如果要设置单独的日志路径,然后通过如下命令启动/usr/local/keepalived/sbin/keepalived -d -D -S 0 的方式来启动keepalived...6.2,停止m1上的mysql实例,m2上的mysql实例和keepalived都启动着 # 通过vip查询test.m表的标识数据来判断vip绑定在哪个mysql实例所在的服务器上 [root...6.3,再次启动已经停止的m1上的实例和keepalived # 通过vip查询test.m表的标识数据来判断vip绑定在哪个mysql实例所在的服务器上 [root@localhost ~]#...6.4,停止m2上的mysql实例 # 通过vip查询test.m表的标识数据来判断vip绑定在哪个mysql实例所在的服务器上 [root@localhost ~]# mysql –h10.254.13.14...实例,则绑定在m2上的vip自动释放了,然后vip会切换到m1上的mysql实例服务器。

    83040

    MongoDB 3.0.6的主,从,仲裁节点搭建

    ) daemon方式启动的fork参数也可以配置配置文件中 在bin下创建master.conf  slaver.conf  arbiter.conf文件:配置如下 (主,备,仲裁节点) 创建master.conf...: db 创建的数据库mydb 列表中是不存在的。...要显示的数据库,需要把它插入至少一个文件。 db.movie.insert({"name":"tutorials yiibai"})  配置主、从、仲裁节点: 首先连接一个mongdb地址 ....这里在自己的机子上初始化可能会报   这个该死的问题折磨死我了,最后发现是磁盘空间不足导致的。所以在自己的机子上做集群可能会无法初始化 ? 具体还在想办法。。。...的纪录 db.food.find({"fruit" : {"$size" : 3}}) // 对数组的查询, 查询数组元素个数是3的记录,$size前面无法和其他的操作符复合使用 db.users.findOne

    1.4K10

    如何搭建双 M 结构的主从备份?

    关于 MySQL 主从搭建,松哥之前写过好多篇文章了,还录过一个视频。...不过之前的都是一主一从的结构,但是小伙伴们知道,我们在项目中,更常见一种结构是双 M 结构,即两个 MySQL 实例,每个 MySQL 实例互为主备,这样在主节点突然断电或者不可用的时候,slave 节点可以很快切换为...master,架构图如下: 在这种结构中,两个 MySQL 实例的地位是平等的,互为对方的主备,我们判断谁是主机谁是从机的方式主要是看 readonly,谁是只读的,那谁就是从机,所以这种情况下,主从切换也很方便...接下来我们就来搭建一个双 M 的主从备份,看看和单纯的 M-S 结构的有啥区别。 1. 准备工作 以下配置基于 Docker。...谁主谁从 虽然是双 M 结构,但是在实际应用中还是得分个主从,那么双 M 该怎么分主从呢?

    74410

    MySQL 双主单写,主库偶尔出现大量延迟的原因

    我们是双主单写,这里约定写入的库为主库,没有写入的库为从库。我们的falcon偶尔会进行报警如下(频率很低): ?...- mi->rli->last_master_timestamp) - mi->clock_diff_with_master); 也就是: 服务器当前时间...-Event header中的timestamp - 主从服务器时间差 出现延迟的必要条件: 如果SQL线程没有应用完了所有的IO线程写入的Event,也就是Read_Master_Log_Pos和Exec_Master_Log_Pos...服务器当前时间-Event header中的timestamp - 主从服务器时间差 这个公式必须出现差值。 好了接下来带着这两个产生延迟的必要条件来寻求原因。...: 如果双主双写 S1 S2 T1 T2 T3 如果按照上面的理论那么T3的更新的位置可能会被T2事务的位点重置。

    94910

    双指标比较的一种另类方式

    这是一个星友的提问,如何制作不等宽图表?常用来两个指标对比,一个度量值使用SVG模式实现,以不等宽条形图为例: 上图的功能: 1.横向条形长度代表业绩,宽度代表业绩达成率,双数据标签。...4.类别标签间距也是不等的,随宽度移动。 每一环节设置逻辑已在以下度量值说明。可按照此模式自行变更指标,或变更分割线,或转置方向为柱形图。度量值放在HTML content视觉对象进行显示。...MedianSales=MEDIANX(VALUES('表'[店铺]),[实际])//中线分割 VAR Height = SUMX ( '表', 12 * [达成率] / MinRate ) //最低的柱子为...Height & "' >" & CONCATENATEX ( BarTable, [Rect] & [Text] ) & //连接所有条形和类别标签 //width 241指18个像素的类别标签...+2个像素的空白+200个像素的图形+20个像素的数据标签+1个像素的空白 "<line x1='"&20+200 * MedianSales / MaxSales&"' y1='0' x2='"&20

    54320
    领券