PeanutButter
Loading...
Searching...
No Matches
PeanutButter.TempDb.MySql.Base.TempDbMySqlServerSettings Class Reference

Settings for starting up a TempDbMySql instance. More...

Classes

class  TempDbOptions
 Options which define how to start up mysqld. More...
 

Public Member Functions

TempDbMySqlServerSettings OptimizeForPerformance ()
 Optimises configuration for performance. Warning, this has an effect on durability in the event of a server crash. If you care about your data in the event of a system/process crash, do not use this. This overload optimises to run on a non-SSD disk.
 
TempDbMySqlServerSettings OptimizeForPerformance (bool isRunningOnSsdDisk)
 Optimises configuration for performance. Warning, this has an effect on durability in the event of a server crash. If you care about your data in the event of a system/process crash, do not use this.
 

Properties

DefaultDictionary< string, Dictionary< string, string > > CustomConfiguration [get]
 Allows any other configuration/settings to be specified - any duplicates of first class configuration settings will override the first class setting This configuration is of the form of nested string dictionaries which are automatically created for you - you should be able to, for instance, simply do: settings.CustomConfiguration["mysqld"]["max_connection"] = "128";.
 
TempDbOptions Options = new() [get]
 Options for the instantiation of the temporary database.
 
int InnoDbDoubleWrite = 0 [get, set]
 
int InnoDbUseNativeAIO = 0 [get, set]
 
int SyncRelayLogInfo = 10000 [get, set]
 mysql setting
 
int SyncRelayLog = 10000 [get, set]
 mysql setting
 
int SyncMasterInfo = 10000 [get, set]
 mysql setting
 
string BinLogRowEventMaxSize = "8K" [get, set]
 mysql server setting
 
int TableDefinitionCache = 1400 [get, set]
 mysql server setting
 
string SortBufferSize = "256K" [get, set]
 mysql server setting
 
int OpenFilesLimit = 4161 [get, set]
 mysql server setting
 
int MaxConnectErrors = 100 [get, set]
 mysql server setting
 
string MaxAllowedPacket = "64M" [get, set]
 mysql server setting
 
string JoinBufferSize = "256K" [get, set]
 mysql server setting
 
int FlushTime = 0 [get, set]
 mysql server setting
 
int BackLog = 80 [get, set]
 mysql server setting
 
int InnodbChecksumAlgorithm = 0 [get, set]
 mysql server setting
 
int InnodbFilePerTable = 1 [get, set]
 mysql server setting
 
int InnodbStatsOnMetadata = 0 [get, set]
 mysql server setting
 
int InnodbOldBlocksTime = 1000 [get, set]
 mysql server setting
 
int InnodbAutoextendIncrement = 64 [get, set]
 mysql server setting
 
int InnodbConcurrencyTickets = 5000 [get, set]
 mysql server setting
 
int InnodbThreadConcurrency = 0 [get, set]
 mysql server setting
 
string InnodbLogFileSize = "256M" [get, set]
 mysql server setting
 
string InnodbBufferPoolSize = "512M" [get, set]
 mysql server setting
 
int InnodbFlushLogAtTrxCommit = 2 [get, set]
 mysql server setting
 
int InnodbFlushLogAtTimeout = 1 [get, set]
 mysql server setting
 
int SyncBinLog = 1 [get, set]
 mysql server setting
 
int InnodbIoCapacity = 200 [get, set]
 mysql server setting
 
string MyIsamMaxSortFileSize = "100G" [get, set]
 mysql server setting
 
int ThreadCacheSize = 10 [get, set]
 mysql server setting
 
int TableOpenCache = 2000 [get, set]
 mysql server setting
 
int MaxConnections = 150 [get, set]
 mysql server setting
 
int ServerId = 1 [get, set]
 mysql server setting
 
string LogError = "mysql-err.log" [get, set]
 mysql server setting
 
int LongQueryTime = 10 [get, set]
 mysql server setting
 
string SlowQueryLogFile = "mysql-slow.log" [get, set]
 mysql server setting
 
int SlowQueryLog = 0 [get, set]
 mysql server setting
 
int GeneralLog = 0 [get, set]
 mysql server setting
 
string GeneralLogFile = "mysql-general.log" [get, set]
 mysql server setting
 
string LogOutput = "FILE" [get, set]
 mysql server setting
 
string SqlMode [get, set]
 mysql server setting
 
string DefaultStorageEngine = "INNODB" [get, set]
 mysql server setting
 
string CharacterSetServer = "utf8" [get, set]
 mysql server setting
 
string Socket = $"/tmp/mysql-temp-{Guid.NewGuid()}.socket" [get, set]
 mysql server setting: UNIX socket path
 
string DefaultClientCharacterSet [get, set]
 
int PerformanceSchema = 0 [get, set]
 
string MySqlNativePassword = null [get, set]
 

Detailed Description

Settings for starting up a TempDbMySql instance.

  • Settings decorated with a [Setting("setting_name")] attribute will be included in the defaults file provided to MySql at startup in the [mysqld] section
  • you may inherit from this to add settings not already provide or override default settings values with your own instance of TempDbMySqlServerSettings

Member Function Documentation

◆ OptimizeForPerformance()

TempDbMySqlServerSettings PeanutButter.TempDb.MySql.Base.TempDbMySqlServerSettings.OptimizeForPerformance ( bool  isRunningOnSsdDisk)

Optimises configuration for performance. Warning, this has an effect on durability in the event of a server crash. If you care about your data in the event of a system/process crash, do not use this.

Parameters
isRunningOnSsdDiskSet this to true to cap off InnoDbIoCapacity to 3000 (for spinning rust disks)

Property Documentation

◆ SqlMode

string PeanutButter.TempDb.MySql.Base.TempDbMySqlServerSettings.SqlMode
getset
Initial value:
=
Environment.GetEnvironmentVariable(EnvironmentVariables.SQL_MODE)
?? "STRICT_TRANS_TABLES,STRICT_ALL_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"

mysql server setting


The documentation for this class was generated from the following file: