Tài liệu MySQL nói rằng nhiều máy chủ có thể được phân tách bằng dấu phẩy:
Rất tiếc, hành vi này đã bị hỏng trong Connector / NET 8.0.18 trở về trước (nó đã được sửa trong 8.0.19 ).
Connector / NET 8.0.19 sẽ thử nhiều máy chủ ngẫu nhiên
trừ khi bạn chỉ định priority
thuộc tính cho từng máy chủ. Ví dụ:
// 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);
Nếu bạn không thể cập nhật lên 8.0.19, có một nhà cung cấp OSS MySQL ADO.NET thay thế hỗ trợ nhiều máy chủ được phân tách bằng dấu phẩy: MySqlConnector trên GitHub
, NuGet
. Ngoài ra, nó có Load Balance
tùy chọn chuỗi kết nối
cho phép bạn chỉ định loại cân bằng tải chính xác mà bạn muốn:RoundRobin
, FailOver
, Random
, LeastConnections
.