Skip to main content

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