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"
Definition TempDbMySqlServerSettings.cs:12

mysql server setting


The documentation for this class was generated from the following file:
  • source/TempDb/PeanutButter.TempDb.MySql.Base/TempDbMySqlServerSettings.cs