MySQL
MySQL supports both the Master database and Agent transport layers.
Install
dotnet add package JobMaster.MySql
Configuration
builder.Services.AddJobMasterCluster(config =>
{
config.ClusterId("My-Cluster")
.UseMySqlForMaster("Server=...;Database=...;User Id=...;Password=...;TrustServerCertificate=True;");
config.AddAgentConnectionConfig("MySql-1")
.UseMySqlForAgent("Server=...;Database=...;User Id=...;Password=...;TrustServerCertificate=True;");
});
note
Add UseAffectedRows=True to your connection string and tune innodb_buffer_pool_size for higher throughput.
Options
Table prefix
By default, JobMaster creates tables with the jm_ prefix. Override it per layer:
config.UseSqlTablePrefixForMaster("myapp_jm_");
config.AddAgentConnectionConfig("MySql-1")
.UseSqlTablePrefixForAgent("myapp_agent_");
Disable auto schema provisioning
By default, JobMaster creates and migrates its tables on startup. Disable this if you manage schema migrations yourself:
config.UseMySqlForMaster("...")
.DisableAutoProvisionSqlSchema();