Mysql
 sql >> Database >  >> RDS >> Mysql

Failover della stringa di connessione MySQL c#

La documentazione MySQL dice che più host possono essere separati da virgole:

Sfortunatamente, questo comportamento è stato interrotto in Connector/NET 8.0.18 e versioni precedenti (è stato corretto in 8.0.19 ).

Connector/NET 8.0.19 proverà più host a caso a meno che non specifichi una priority attributo per ogni host. Ad esempio:

// 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);

Se non è possibile eseguire l'aggiornamento a 8.0.19, esiste un provider OSS MySQL ADO.NET alternativo che supporta più host delimitati da virgole:MySqlConnector su GitHub , NuGet . Inoltre, ha un Load Balance opzione della stringa di connessione che ti consente di specificare il tipo esatto di bilanciamento del carico che desideri:RoundRobin , FailOver , Random , LeastConnections .