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

如何使用Pomelo EF Core驱动同时连接ASP.NET Core与MySQL主从服务器?

解决Pomelo驱动MySQL主从连接读写分离问题
  • 你的连接字符串写法有误,Pomelo驱动无法识别server参数里逗号分隔的主从地址,需使用专门的replica server参数指定从库:
    正确的连接字符串格式:

    server=master.domain.com;port=3306;user=user;password=mysosecretpassword;database=mydb;replica server=slave.domain.com;
    

    多从库场景用逗号分隔:replica server=slave1.domain.com,slave2.domain.com;

  • 确保使用的Pomelo.EntityFrameworkCore.MySql版本在3.2.0及以上,该版本开始正式支持读写分离路由功能

  • 纠正测试方式:不要手动修改从库数据,主从复制是主库同步到从库,手动修改会导致数据不一致。正确测试流程:

    1. 在主库插入/更新一条数据
    2. 等待主从同步完成
    3. 用应用执行SELECT查询
    4. 查看从库的连接日志或慢查询日志,确认请求是否到达从库
  • 代码层面补充配置(可选):如果需要更精细的读写分离控制,可在DbContext配置中指定查询拆分行为,确保查询路由到从库:

    services.AddDbContext<YourDbContext>(options =>
    {
        options.UseMySql(yourConnectionString, ServerVersion.AutoDetect(yourConnectionString))
               .UseQuerySplittingBehavior(QuerySplittingBehavior.SplitQuery);
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 03:34:55