connectionstring mysql,用于将3个主节点连接到MySQL的ConnectionString「建议收藏」

connectionstring mysql,用于将3个主节点连接到MySQL的ConnectionString「建议收藏」BackgroudIamdevelopinga.netproject,whichworkswithEF6andMySQLDB.ForHighAvailability,IamusingGaleracluster,soIhave3MySQLMasternodesupandrunning:master1,master2andmaster…

大家好,又见面了,我是你们的朋友全栈君。

connectionstring mysql,用于将3个主节点连接到MySQL的ConnectionString「建议收藏」

Backgroud

I am developing a .net project, which works with EF6 and MySQL DB. For High Availability, I am using Galera cluster, so I have 3 MySQL Master nodes up and running: master1, master2 and master3.

According to connectionstring.com I should be able to use the following connection string:

Server=master1, master2, master3;Database=myDataBase;

Uid=myUsername;Pwd=myPassword;

I have tried the above, and it does not work… I have seen this bug which explains multi-host connection string does not work.

Question

According to this link I can use mysql:loadbalance: in front of my JDBC connection string. The problem is I don’t know which MySQL Connector am I using? I believe I have installed the Standard/Default Nuget Packages for .net (MySQL.Data and MySQL.Data.EntityFramework). Any idea which MySQL Connector come with the above packages?

Any idea how can I use MySQL connector to load balance/connect the 3 Master nodes?

解决方案

This isn’t supported by MySQL.Data. As you observed, there are multiple bug reports (#81650, #88962) pointing out this problem, but it hasn’t been fixed in three years.

As explained here, there is an alternative MySQL library, MySqlConnector, that does support this connection string syntax. Unfortunately, there is no EF6 library available for it. (There is an EF.Core package, Pomelo.EntityFrameworkCore.MySql.)

A workaround would be to create a layer 4 load balancer in front of your three Galera nodes. Galera provides documentation on how to do this with HAProxy. Your C# MySQL client would connect to HAProxy, and it would load balance connections between your Galera servers.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/158068.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 解决方案:VS2017 无法打开源文件 stdio.h main.h 等头文件[通俗易懂]

    解决方案:VS2017 无法打开源文件 stdio.h main.h 等头文件[通俗易懂]问题描述:在VS2017中运行解决方案是有错误:“E1696 无法打开源文件“stdio.h” ”…原因:这种问题一般发生在该项目代码是在网上下载而来的情况,或者电脑重装新的系统等情况,导致电脑系统与该项目生成时所采用的windowsSDK不同,从而在默认的位置(已发生变化)找不到许多源文件。解决方案:1.在C++项目处(示例为“Fibonacci”),鼠标右击,弹出的菜…

  • 考研-数据库_数据库系统考研看什么书

    考研-数据库_数据库系统考研看什么书文章目录前言一、数据库的概念二、综合知识前言一、数据库的概念1、数据数据:描述事物的符号记录称为数据。特点:数据和关于数据的解释不可分。2、数据库长期存储在计算机内、有组织、可共享的大量的数据的集合。数据库中的数据按照一定的数据模型组织、描述和存储,具有较小的冗余度、较高的数据独立性和易扩展性,并可为各种用户共享。特点:永久存储、有组织、可共享。3、数据库系统(DBS)(DateBaseSystem)数据库系统,指在计算机系统中引入数据库后的系统,一般由数据库、数据

    2022年10月30日
  • dategrip激活码[最新免费获取]

    (dategrip激活码)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.cn/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~8…

  • centos7 socks5代理_ssh代理上网

    centos7 socks5代理_ssh代理上网关于SOCKS5  SOCKS5是一个代理协议,它在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。   正常情况下客户端和服务端的通信:客户端服务端   使用了SOCKS5代理后的通讯:客户端代理服务器服务端#安装ss5依赖yuminstallgcc

  • jwplayer免费手机版_视频上显示jwplayer

    jwplayer免费手机版_视频上显示jwplayer————————————2015-5-13————最新更新———————————————由于jwplayer6已经完全无法正常工作,以下介绍的方法也已经失效,请更换视频播放插件,可以参考楼主的文章:http://blog.csdn.net/snow_finland/article/details/45670683————————————————————————————————————————htm…

    2022年10月21日
  • qxdm使用教程_log命令

    qxdm使用教程_log命令(一)、首先保证PC机和手机串口(或并口)之间连接畅通,这个可以从QXDM工具的系统栏看出,如果是MSM6000的项目,系统栏会显示“COMX:SURF6000-ZRF6000”;如果是MSM6025的项目,系统栏会显示“COMX:SURF6025-ZRF6025”。其中X为某个串口,比如COM1,X=1等。(二)、QXDM打开后,先配置好messageview要打印的信息,具体的配置如

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号