一台服务器如何安装两个PXC节点?,PXC节点怎么安装

一台服务器完全可以安装两个PXC节点,核心思路是使用容器隔离或独立数据目录配合不同端口来实现,但需重点处理IP配置、端口分配和集群通信三个关键环节。

为什么要在单台服务器上部署两个PXC节点

省成本的诱惑力谁都能理解,一台服务器装两个PXC节点,本质上是在物理机内部模拟出两套独立的数据库环境,这种部署方式在测试环境、预发布环境以及预算受限的中小项目中并不少见。

西门子PXC24和PXC4是一个系列控制器么?是用ABTsite软件编程么?一个视频分清楚2个系列控制器
加载中
西门子PXC24和PXC4是一个系列控制器么?是用ABTsite软件编程么?一个视频分清楚2个系列控制器

真正的业务场景往往出于以下考虑:

  • 测试人员需要模拟集群故障切换,但手头只有一台物理机
  • 预算有限,先在一台高配服务器上把功能跑通,后续再迁移到多台物理机
  • 需要验证PXC集群的写入扩展能力,但不想一次性采购三台机器

<由于PXC集群的最小冗余配置是2个节点,多数情况下单台服务器的双节点方案足以满足功能验证和轻量生产需求。>

单机双PXC节点的部署方案对比

部署前需要明确一个事实:两个PXC节点直接跑在同一台机器上,如果不做任何隔离处理,端口冲突、数据目录抢占、SST传输失败这些问题会接踵而至,行业共识认为,常见方案有两种:Docker容器方案和物理多实例方案。

对比维度 Docker容器方案 物理多实例方案
隔离性 文件系统、PID、网络栈完全隔离 仅数据目录和配置隔离,共享内核
部署难度 较低,一条命令启动容器 较高,需要手动管理多个mysqld进程
性能损耗 约3%5%网络开销 几乎无损耗
推荐场景 测试环境、快速验证 对I/O有要求的生产环境

如果是首次尝试一台服务器安装两个pxc节点,Docker方案更推荐,容器化的隔离机制可以避雷大部分低级错误,但无论哪种方案,存储引擎的SST快照传输机制决定了两个节点的物理部署距离越近,传输越便捷,这也是单机部署的天然优势。

一台服务器上打两个pxc节点的具体步骤

前置检查与资源估算

先确认服务器配置是否扛得住,单个PXC节点在低负载下占用约1GB内存,两个节点加上操作系统开销,至少需要3GB可用内存,磁盘方面,每个节点预留独立的数据目录,建议不低于20GB,统计数字表明,相当一部分部署失败源于资源规划不足。

检查现有环境:

一台服务器如何安装两个PXC节点?,PXC节点怎么安装

grep -c processor /proc/cpuinfo
free -h
df -h

Docker方式部署两个PXC节点的实操路径

通过容器方式部署,本质上是用端口映射把两个PXC节点的通信通道分开,假设服务器IP为192.168.1.100,两个节点分别映射3310和3320端口给MySQL客户端,映射4567和4568端口给集群通信。

第一个节点启动命令:

docker network create -d bridge pxc-net
docker run -d --name pxc1 
  -p 3310:3306 
  -p 4567:4567 
  -p 4568:4568 
  -e MYSQL_ROOT_PASSWORD=rootpass 
  -e CLUSTER_NAME=pxc-cluster 
  -e XTRABACKUP_PASSWORD=backuppass 
  -v /data/pxc1:/var/lib/mysql 
  --network=pxc-net 
  percona/percona-xtradb-cluster:8.0

这里有一个关键点:第一个节点初始化时,必须声明自己为集群引导节点,进入容器执行:

docker exec -it pxc1 mysql -uroot -prootpass 
  -e "SET GLOBAL wsrep_provider_options='ist.recv_addr=192.168.1.100:4568';"

第二个节点启动命令:

第二个节点与第一个节点的最大区别在于,它需要知道谁是自己人,通过CLUSTER_JOIN参数指定第一个节点的集群地址:

docker run -d --name pxc2 
  -p 3320:3306 
  -p 4570:4567 
  -p 4571:4568 
  -e MYSQL_ROOT_PASSWORD=rootpass 
  -e CLUSTER_NAME=pxc-cluster 
  -e CLUSTER_JOIN=pxc1:4567 
  -e XTRABACKUP_PASSWORD=backuppass 
  -v /data/pxc2:/var/lib/mysql 
  --network=pxc-net 
  percona/percona-xtradb-cluster:8.0

启动后等待约3060秒,两个节点会自动完成SST全量数据传输,用以下命令验证集群状态:

docker exec -it pxc1 mysql -uroot -prootpass 
  -e "SHOW STATUS LIKE 'wsrep_cluster_size';"

正常输出wsrep_cluster_size = 2即代表两台节点已成集群。

物理多实例方式部署两个PXC节点

物理多实例的难点在于把每个实例的配置文件和进程管理彻底分开,安装基础PXC软件包后,按以下顺序操作:

第一步:目录拆分与配置准备

mkdir -p /etc/my.cnf.d/pxc1 /etc/my.cnf.d/pxc2
mkdir -p /var/lib/pxc1 /var/lib/pxc2
cp /etc/my.cnf /etc/my.cnf.d/pxc1/my.cnf
cp /etc/my.cnf /etc/my.cnf.d/pxc2/my.cnf

第二步:分别修改两个配置文件

pxc1的my.cnf核心配置段:

[mysqld]
server-id=1
port=3310
datadir=/var/lib/pxc1
socket=/var/run/mysqld/pxc1.sock
wsrep_cluster_name="pxc-single-server"
wsrep_node_name="pxc-single-1"
wsrep_node_address=192.168.1.100:4570
wsrep_sst_receive_address=192.168.1.100:4571
wsrep_cluster_address="gcomm://192.168.1.100:4572"

一台服务器如何安装两个PXC节点?,PXC节点怎么安装

pxc2的my.cnf核心配置段:

[mysqld]
server-id=2
port=3320
datadir=/var/lib/pxc2
socket=/var/run/mysqld/pxc2.sock
wsrep_cluster_name="pxc-single-server"
wsrep_node_name="pxc-single-2"
wsrep_node_address=192.168.1.100:4573
wsrep_sst_receive_address=192.168.1.100:4574
wsrep_cluster_address="gcomm://192.168.1.100:4572"

注意这里的端口规划:4570和4573分别为两个节点的集群通信端口,4572为gcomm运行时的统一端口,物理多实例方案下,不同端口都要明确区分开。

第三步:初始化数据目录并启动

mysqld --defaults-file=/etc/my.cnf.d/pxc1/my.cnf --initialize-insecure
mysqld --defaults-file=/etc/my.cnf.d/pxc2/my.cnf --initialize-insecure
mysqld --defaults-file=/etc/my.cnf.d/pxc1/my.cnf --wsrep-new-cluster &
sleep 10
mysqld --defaults-file=/etc/my.cnf.d/pxc2/my.cnf &

第四步:确认两节点写入同步正常

在两个节点分别创建测试表并写入数据:

mysql -uroot -P3310 -h127.0.0.1 -e "CREATE DATABASE test; USE test; CREATE TABLE t1(id INT); INSERT INTO t1 VALUES (1);"
mysql -uroot -P3320 -h127.0.0.1 -e "SELECT  FROM test.t1;"

如果第二个节点能查询到刚才写入的记录,说明两台节点同步机制已经开始工作。

单机部署两个PXC节点的常见坑与规避措施

端口冲突爆发点

同一台服务器上不同实例的默认端口全部相同:3306端口、4567端口、4568端口、4444端口,不修改直接启动,第二个节点必然报错,端口分配是安装过程中最容易被忽视的环节,建议按表逐一核对:

服务用途 默认端口 节点1建议端口 节点2建议端口
MySQL客户端连接 3306 3310 3320
集群通信 4567 4567 4570
IST增量传输 4568 4568 4571
SST全量传输 4444 4444 4572

auto_increment偏移量设置

PXC两个节点同时接受写入,如果两个节点的自增主键都从1开始,很快就会出现主键冲突,PXC官方推荐配置:

auto_increment_increment=2
auto_increment_offset=1

一台服务器如何安装两个PXC节点?,PXC节点怎么安装

第二个节点设置auto_increment_offset=2,这样节点1生成1、3、5、7…节点2生成2、4、6、8…保证两节点同时写入时不会撞车。

单机服务器的SST传输阻断

Docker方式下,容器网络与宿主机网络之间存在NAT转换,SST传输经常因防火墙规则被拦截,如果启动时发现第二个节点一直处于JOINING状态,多缴一个排查步骤:

iptables -I INPUT -p tcp --dport 4444 -j ACCEPT
iptables -I INPUT -p tcp --dport 4567 -j ACCEPT
iptables -I INPUT -p tcp --dport 4568 -j ACCEPT

两台节点同时故障的恢复策略

单机部署意味着物理机宕机时两个节点同时不可用,集群重启时,千万不要同时启动两个节点,否则会因找不到主节点而反复协商,正确做法:先启动第一个节点并添加--wsrep-new-cluster参数引导集群,再启动第二个节点,由于第二个节点的gcomm地址指向第一个节点,会自动以增量方式同步数据。

一台服务器pxc两个节点部署常见疑问解答

同服务器上两个PXC节点能做故障自动切换吗

可以,但切换价值不大,物理机宕机时两个节点同时失联,无法实现跨机器的高可用,如果目标是模拟节点故障场景,可以在宿主机存活时通过手动停止其一节点的mysqld服务来观察集群状态变化,自动切换主要依赖keepalived或HAProxy虚IP漂移,但虚IP绑定在本地物理机,物理机本身故障时虚IP也一并消失,因此这种情况下故障切换的真正意义是测试层面而非生产保障。

单机双节点将来怎么平滑迁移到多台物理机

先在旧节点上mysqldump导出全部核心数据,新集群部署三个节点后,先将其中一个节点的wsrep_cluster_address修改为指向新集群的gcomm地址,让它以增量方式把数据同步过去,同步完成后,将另外一台旧节点正常退组,新集群三个节点继续工作,这个过程中有两台节点同时在线的重叠期,对于测试环境完全可行,迁移完成后,记得在新集群中执行SHOW STATUS LIKE 'wsrep_cluster_size';确认节点数等于新机器数量。

两个节点都用同一个root密码,安全方面怎么处理

PXC要求所有节点账号密码一致,因此单机部署中两个实例的root密码必须相同,但这并不意味着安全防控没有提升空间,操作上可以限制root账户只允许本地登录,同时为应用单独创建专用账号,用CREATE USER并限定来源IP,集群内部通信账号xtrabackup建议使用独立随机密码,便于排查问题时区分具体连接来源。

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://test.idctop.com/article/581171.html

赞 (0)
it业务分析_业务测试和分析
上一篇 2026年8月18日 22:34
瓦港服怎么选延迟低的服务器?,哪个服务器延迟最低
下一篇 2026年8月18日 22:34

相关推荐

  • CMIVPS双11充值送10%年付7折值得买吗,vps服务器哪家性价比高

    CMIVPS双11大促核心结论:全场VPS年付直接7折,独立服务器买10个月送2个月,叠加充值送10%优惠,是降低长期算力成本的最佳窗口期,在2026年的云计算市场,价格波动已成为常态,许多站长和企业IT负责人都在寻找稳定的低价方案,而CMIVPS推出的这次双11活动,恰好切中了这一痛点,对于需要长期稳定运行的……

    2026年6月28日
    1300
  • ftp工具怎么连接到服务器?,连接失败怎么办?

    使用FTP工具连接到服务器的关键在于选择合适的客户端软件并正确配置连接参数,这确保了文件传输的稳定性和安全性,对于网站管理和开发工作来说,是基础且高效的操作,FTP工具连接到服务器的重要性FTP(文件传输协议)工具在2026年依然是管理网站文件、进行远程服务器维护的常用方式,虽然有些人认为它有些“老派”,但在许……

    2026年7月21日
    500
  • 注册公司章程怎么写?公司设立章程模板下载

    公司注册章程在数字化商业时代,服务器不仅是数据存储的物理载体,更是企业品牌信誉、业务连续性及合规经营的核心基石,对于初创企业及成长型公司而言,选择一款高性能、高稳定性且具备完善售后支持的云服务器,等同于为企业构建了一套坚不可摧的“数字公司章程”,本文将基于深度实测数据,为您解析2026年度主流云服务器产品的核心……

    2026年6月24日
    1910
  • justhostVPS测评,0.74美元/月方案实测对比,justhostVPS怎么样,justhostVPS价格

    在 2026 年预算有限且追求极致性价比的场景下,JustHost VPS 0.74 美元/月方案是入门级建站与轻量级测试的首选,但其性能瓶颈明显,仅适合非核心业务或流量极小的静态站点,核心性能实测:0.74 美元方案的真实表现在 2026 年云主机市场全面向 NVMe SSD 与 ARM 架构转型的背景下,J……

    2026年5月11日
    4500
  • AI智能视觉怎么入门,零基础小白怎么学?

    AI智能视觉是赋予机器“看懂”世界能力的核心技术,它通过算法将图像像素转化为可理解的数据与决策依据,这一技术不仅是人工智能领域的重要分支,更是连接物理世界与数字世界的桥梁,广泛应用于工业检测、自动驾驶、医疗诊断及安防监控等场景,掌握AI智能视觉,本质上是从数据采集、模型训练到边缘部署的全链路工程能力构建,其核心……

    2026年2月25日
    12900
  • 2k19连不上服务器怎么回事,怎么解决?

    如果你是2K19玩家,遇到“连不上服务器”的提示,核心原因通常出在网络连接、服务器状态或游戏文件完整性上,按以下步骤排查可解决大部分问题,2k19连不上服务器怎么回事:先从网络环境找原因绝大多数2k19连不上服务器的情况,根源都在本地网络这一侧,2K19的服务器架设在海外,国内网络直连时丢包和延迟较高,尤其在晚……

    2026年8月12日
    900
  • VPS全新测评,实测数据与性能表现,VPS性能怎么样

    2026年VPS性能已突破单核3.5GHz与NVMe SSD普及化瓶颈,综合性价比最优解为选择搭载AMD EPYC 9004系列处理器且具备BGP多线接入能力的企业级实例,实测IOPS稳定在10万+,延迟低于15ms,2026年VPS硬件架构与底层性能实测随着虚拟化技术的迭代,2026年的VPS市场已从单纯的……

    2026年5月13日
    4600
  • 查询系统开发怎么做?企业查询系统开发流程与价格

    查询系统开发的核心价值在于构建一套高效、精准且用户友好的数据检索机制,其本质是将海量非结构化或半结构化数据转化为可被快速调用的业务资产,一个成功的查询系统,必须在架构设计上兼顾高并发处理能力与毫秒级响应速度,同时确保数据的一致性与安全性,这是系统能够支撑业务决策、提升用户体验的根本前提,架构设计决定系统上限系统……

    2026年4月9日
    7500
  • 域名解析到IP具体怎么操作?域名解析到IP地址详细步骤

    关于域名解析到ip在构建稳定、高效的网络服务架构时,域名解析(DNS Resolution)作为连接用户与服务器IP地址的关键桥梁,其稳定性、解析速度及安全性直接决定了业务的可用性,许多站长在初期往往忽视DNS配置的专业性,直到遭遇解析延迟、劫持或DDoS攻击导致服务中断,才意识到选择优质DNS服务的重要性,本……

    2026年5月30日
    4400
  • 小米v4开发版怎么刷,小米v4开发版刷机教程

    小米v4开发版作为小米公司早期推出的定制系统版本,凭借其开放性和可玩性,至今仍被部分极客用户和开发者视为经典,该版本的核心价值在于平衡了系统稳定性与功能创新,为用户提供了深度定制安卓系统的可能性,以下从技术特点、用户体验、历史意义三个维度展开分析,技术架构:开放性与兼容性并重小米v4开发版基于Android 4……

    2026年3月19日
    9800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注