La documentation MySQL indique que plusieurs hôtes peuvent être séparés par des virgules :
Malheureusement, ce comportement était cassé dans Connector/NET 8.0.18 et versions antérieures (il était fixé dans 8.0.19 ).
Connector/NET 8.0.19 essaiera plusieurs hôtes au hasard
sauf si vous spécifiez une priority
attribut pour chaque hôte. Par exemple :
// hosts will be tried at random
host=10.10.10.10:3306,192.101.10.2:3305,localhost:3306;uid=test;password=xxxx;
// hosts will be tried in descending priority order
server=(address=192.10.1.52:3305,priority=60),(address=localhost:3306,priority=100);
Si vous ne pouvez pas mettre à jour vers 8.0.19, il existe un autre fournisseur OSS MySQL ADO.NET qui prend en charge plusieurs hôtes délimités par des virgules :MySqlConnector sur GitHub
, NuGet
. De plus, il dispose d'un Load Balance
option de chaîne de connexion
qui vous permet de spécifier le type exact d'équilibrage de charge que vous souhaitez :RoundRobin
, FailOver
, Random
, LeastConnections
.