A documentação do MySQL diz que vários hosts podem ser separados por vírgulas:
Infelizmente, esse comportamento foi interrompido no Connector/NET 8.0.18 e anterior (foi fixado em 8.0.19 ).
O Connector/NET 8.0.19 tentará vários hosts ao acaso a menos que você especifique uma
priority
atributo para cada host. Por exemplo:// 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 você não puder atualizar para 8.0.19, há um provedor OSS MySQL ADO.NET alternativo que suporta vários hosts delimitados por vírgulas:MySqlConnector no GitHub , NuGet . Além disso, possui um
Load Balance
opção de string de conexão
que permite especificar o tipo exato de balanceamento de carga desejado:RoundRobin
, FailOver
, Random
, LeastConnections
.