You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows10下XAMPP/MariaDB10.4独立库与从库共存方案咨询

在Windows 10的XAMPP MariaDB中同时运行独立数据库与只读从库实例

直接修改现有my.ini将整个实例转为从库绝对不可行——这会让你现有的业务数据库被主库数据覆盖(若存在同名库),且实例会被设为只读,彻底阻断原有应用的写入操作。正确的方案是创建完全独立的MariaDB从库实例,与现有XAMPP数据库隔离运行,具体步骤如下:

1. 搭建从库目录结构

  • 复制XAMPP自带的mysql目录(默认路径C:\xampp\mysql)到新路径,比如C:\xampp\mysql_replica
  • 在新目录下创建data子目录(用于存储从库数据),以及my_replica.ini配置文件

2. 配置从库专属配置文件my_replica.ini

以下是核心配置项(需与现有实例完全区分):

[mysqld]
# 与现有实例不同的端口,避免冲突
port=3307
# 从库专属数据目录
datadir=C:/xampp/mysql_replica/data
# 专属socket文件路径
socket=C:/xampp/mysql_replica/mysql.sock
# 唯一的server-id,不能与主库、现有实例重复(现有实例若没改,默认是1,这里设为2)
server-id=2
# 开启只读模式(超级用户仍可写入,普通用户只读,符合故障转移需求)
read_only=1
# 开启二进制日志与中继日志,用于复制
log_bin=mysql-bin
relay_log=relay-bin
log_slave_updates=1

# 主库连接配置,替换为你的实际信息
master_host=主库的IP地址
master_user=主库创建的复制账号
master_password=复制账号密码
master_port=主库的端口(通常是3306)
master_connect_retry=60

3. 初始化从库数据目录

打开命令提示符,执行以下操作:

  • 切换到从库的bin目录:cd C:\xampp\mysql_replica\bin
  • 初始化数据目录(生成无密码root账号,方便后续配置):
    mysqld --defaults-file=C:\xampp\mysql_replica\my_replica.ini --initialize-insecure

4. 注册为Windows服务(实现自动启停)

在从库bin目录下执行:

  • 注册服务:mysqld --install MariaDBReplica --defaults-file=C:\xampp\mysql_replica\my_replica.ini
  • 启动服务:net start MariaDBReplica
  • 停止服务(如需):net stop MariaDBReplica
  • 卸载服务(如需):mysqld --remove MariaDBReplica

5. 完成主从复制收尾

  • 用客户端连接从库(注意指定端口3307):
    mysql -u root -P 3307 -h 127.0.0.1
  • 导入你之前准备好的主库备份(若未提前导入):source 你的主库备份文件路径.sql;
  • 启动复制进程:START SLAVE;
  • 验证复制状态:SHOW SLAVE STATUS\G;,确认Slave_IO_Running和Slave_SQL_Running均为Yes即可。

注意事项

  • 确保端口3307未被其他程序占用,可通过netstat -ano | findstr :3307检查
  • 主库的复制账号需具备REPLICATION SLAVE权限
  • 若后续XAMPP升级,需重新复制新版本的mysql目录到从库路径,避免版本不兼容
  • 定期检查从库复制状态,防止同步中断

内容的提问来源于stack exchange,提问作者Crestwood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:01:54