Mysql
 sql >> Base de données >  >> RDS >> Mysql

Basculement de la chaîne de connexion MySQL c#

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 .