From bff3c24c9038a3b25a72a48d1893c0a8f94d1c82 Mon Sep 17 00:00:00 2001 From: Christoph Date: Mon, 18 Mar 2024 14:25:33 +0100 Subject: [PATCH] Some changes in example configuration files. --- Example/my.cnf.HUGE.MariaDB-10.11 | 517 ++++++---- Example/my.cnf.MariaDB-10.11 | 513 ++++++---- Example/my.cnf.MariaDB.postfix | 1241 ++++++++++++++++++++++++ Example/my.cnf.VERY-HUGE.MariaDB-10.11 | 551 ++++++----- 4 files changed, 2172 insertions(+), 650 deletions(-) create mode 100644 Example/my.cnf.MariaDB.postfix diff --git a/Example/my.cnf.HUGE.MariaDB-10.11 b/Example/my.cnf.HUGE.MariaDB-10.11 index c09073a..4210ec1 100644 --- a/Example/my.cnf.HUGE.MariaDB-10.11 +++ b/Example/my.cnf.HUGE.MariaDB-10.11 @@ -15,7 +15,7 @@ # The following options will be passed to all MySQL clients [client] -port = 3306 +port = 3306 socket = /run/mysqld/mysqld.sock # Here follows entries for some specific programs @@ -32,31 +32,50 @@ innodb-open-files = 1048576 # The MySQL server [mysqld] -port = 3306 +port = 3306 socket = /run/mysqld/mysqld.sock #datadir = /data/mysql +## - performance_schema +## - +## - The Performance Schema is a very useful and highly under-utilised tool for +## - monitoring MySQL databases. You can measure all kinds of metrics with it, +## - like bad queries, the read/write ratio, and index usage to name a few. +## - +## - But in the free, open source fork, MariaDB, it's turned off by default, and +## - you have to manually switch it on. +## - +## - It's turned off by default in MariaDB because there is a slight performance hit +## - with using Performance Schema. I think this is only noticeable on high-traffic +## -servers with >100s of queries per second. +## - +performance-schema = ON + + ## - character-set-server ## - -## - The servers default character set. If you set this variable, you should also -## - set collation_server to specify the collation for the character set. +## - The servers default character set. If you set this variable, you should also +## - set collation_server to specify the collation for the character set. ## - ## - See also: https://dev.mysql.com/doc/refman/8.0/en/charset-configuration.html ## - ## - The default depend on cmake options: -## - +## - ## - cmake . \ ## - ... ## - -DDEFAULT_CHARSET=latin1 \ ## - -DDEFAULT_COLLATION=latin1_german1_ci ## - #character-set-server = utf8 +character-set-server = utf8mb4 ## - collation-server ## - -## - The server's default collation. See Section 10.14, “Character Set Configuration”. +## - The server's default collation. See Section 10.14, “Character Set Configuration”. +## - #collation-server = utf8_general_ci +collation-server = utf8mb4_general_ci ## - sql_mode @@ -114,23 +133,23 @@ tls_version=TLSv1.2,TLSv1.3 ## - ## - This variable is used to limit the effect of data import and export operations, ## - such as those performed by the LOAD DATA and SELECT ... INTO OUTFILE statements -## - and the LOAD_FILE() function. These operations are permitted only to users who +## - and the LOAD_FILE() function. These operations are permitted only to users who ## - have the FILE privilege. ## - ## - i.e.: GRANT FILE on *.* to piwik@localhost ## - ## - secure_file_priv may be set as follows: ## - -## - - If empty, the variable has no effect. (That means no restrictions). +## - - If empty, the variable has no effect. (That means no restrictions). ## - This is not a secure setting. -## - - If set to the name of a directory, the server limits import and export -## - operations to work only with files in that directory. The directory +## - - If set to the name of a directory, the server limits import and export +## - operations to work only with files in that directory. The directory ## - must exist; the server will not create it. -## - - If set to NULL, the server disables import and export operations. -## - This value is permitted as of MySQL 5.7.6. +## - - If set to NULL, the server disables import and export operations. +## - This value is permitted as of MySQL 5.7.6. ## - ## - Since MySQL v 5.7.16 the default 'secure_file_priv' value has changed -## - +## - ## - NULL (>= MySQL 5.7.16), empty (< MySQL 5.7.16) ## - ## - We use empty ("") @@ -146,8 +165,8 @@ secure-file-priv = "" ## - local-infile ## - -## - This variable controls server-side LOCAL capability for LOAD DATA statements. -## - Depending on the local_infile setting, the server refuses or permits local data +## - This variable controls server-side LOCAL capability for LOAD DATA statements. +## - Depending on the local_infile setting, the server refuses or permits local data ## - loading by clients that have LOCAL enabled on the client side. ## - ## - You can check your 'local-infile' setting on mysql prompt: @@ -157,15 +176,39 @@ secure-file-priv = "" #local-infile = 1 +## - skip_name_resolve +## - +## - Whether to resolve host names when checking client connections. If this variable is OFF, +## - mysqld resolves host names when checking client connections. If it is ON, mysqld uses +## - only IP numbers; in this case, all Host column values in the grant tables must be IP +## - addresses. See Section 5.1.11.2, “DNS Lookups and the Host Cache”. +## - +## - Depending on the network configuration of your system and the Host values for your +## - accounts, clients may need to connect using an explicit --host option, +## - such as --host=127.0.0.1 or --host=::1. +## - +## - An attempt to connect to the host 127.0.0.1 normally resolves to the localhost account. +## - However, this fails if the server is run with skip_name_resolve enabled. If you plan to +## - do that, make sure an account exists that can accept a connection. For example, to be +## - able to connect as root using --host=127.0.0.1 or --host=::1, create these accounts: +## - +## - CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password'; +## - CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password'; +## - +## - Default: OFF +## - +#skip-name-resolve = Off + + ## - skip_external_locking ## - ## - Affects only MyISAM table access. ## - -## - This is OFF if mysqld uses external locking (system locking), +## - This is OFF if mysqld uses external locking (system locking), ## - ON if external locking is disabled. ## - ## - Default: ON -## - +## - skip-external-locking @@ -174,7 +217,7 @@ skip-external-locking # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! -# +# #skip-networking @@ -192,7 +235,8 @@ bind-address = 127.0.0.1 # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted -server-id = 1 +server-id = 1 + # Replication Slave (comment out master section to use this) # @@ -249,12 +293,12 @@ server-id = 1 # binary logging - not required for slaves, but recommended #log-bin=mysql-bin # -# binary logging format - mixed recommended +# binary logging format - mixed recommended #binlog_format=mixed # Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname +#tmpdir = /tmp/ +#log-update = /path-to-dedicated-directory/hostname ## - max_connections @@ -272,14 +316,14 @@ max-connections = 150 ## - ## - This variable was added in MySQL 5.6.6 ## - -## - In MySQL, the TIMESTAMP data type differs in nonstandard ways +## - In MySQL, the TIMESTAMP data type differs in nonstandard ways ## - from other data types. See MySQL Dokumentation. ## - ## - [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. ## - Please use --explicit_defaults_for_timestamp server option (see ## - documentation for more details). ## - -## - As indicated by the warning, to turn off the nonstandard behaviors, +## - As indicated by the warning, to turn off the nonstandard behaviors, ## - enable the new . ## - explicit-defaults-for-timestamp = TRUE @@ -301,8 +345,8 @@ explicit-defaults-for-timestamp = TRUE ## - low-priority-updates ## - -## - Give table-modifying operations (INSERT, REPLACE, DELETE, -## - UPDATE) lower priority than selects. +## - Give table-modifying operations (INSERT, REPLACE, DELETE, +## - UPDATE) lower priority than selects. ## - ## - low-priority-updates = 1 @@ -310,20 +354,21 @@ low-priority-updates = 1 ## - concurrent_insert ## - -## - If activated (1 or AUTO, the default), MySQL permits INSERT -## - and SELECT statements to run concurrently for MyISAM tables +## - If activated (1 or AUTO, the default), MySQL permits INSERT +## - and SELECT statements to run concurrently for MyISAM tables ## - that have no free blocks in the middle of the data file. ## - -## - If set to 2 or ALWAYS, MySQL enables concurrent inserts for -## - all MyISAM tables, even those that have holes. For a table with -## - a hole, new rows are inserted at the end of the table if it is -## - in use by another thread. Otherwise, MySQL acquires a normal +## - If set to 2 or ALWAYS, MySQL enables concurrent inserts for +## - all MyISAM tables, even those that have holes. For a table with +## - a hole, new rows are inserted at the end of the table if it is +## - in use by another thread. Otherwise, MySQL acquires a normal ## - write lock and inserts the row into the hole. ## - concurrent-insert = 2 ## - open-files-limit +## - innodb_open_files ## - ## - put the following lines into /etc/security/limits.conf ## - @@ -341,43 +386,55 @@ innodb-open-files = 1048576 ## - innodb_file_per_table ## - -## - When innodb_file_per_table is enabled (the default in 5.6.6 and higher), -## - InnoDB stores the data and indexes for each newly created table in a +## - When innodb_file_per_table is enabled (the default in 5.6.6 and higher), +## - InnoDB stores the data and indexes for each newly created table in a ## - separate .ibd file, rather than in the system tablespace. ## - innodb-file-per-table = 1 ## - innodb_data_home_dir -## - +## - ## - Default: MySQL data directory ## - #innodb-data-home_dir = /data/mysql +## - innodb_data_file_path +## - +## - Example: +## - innodb-data-file-path = ibdata1:2000M;ibdata2:10M:autoextend +## - +## - Default (MariaDB: ibdata1:12M:autoextend) +## - #innodb-data-file-path = ibdata1:2000M;ibdata2:10M:autoextend ## - innodb_log_group_home_dir ## - -## - The directory path to the InnoDB redo log files, whose number +## - The directory path to the InnoDB redo log files, whose number ## - is specified by innodb_log_files_in_group. ## - -## - If you do not specify any InnoDB log variables, the default is -## - to create two files named ib_logfile0 and ib_logfile1 in the MySQL -## - data directory. Their size is given by the size of the -## - innodb_log_file_size system variable. +## - If you do not specify any InnoDB log variables, the default is +## - to create two files named ib_logfile0 and ib_logfile1 in the MySQL +## - data directory. Their size is given by the size of the +## - innodb_log_file_size system variable. ## - -#innodb-log-group-home-dir = /var/lib/mysql/ +## - Example: +## - innodb-log-group-home-dir = /var/lib/mysql/ +## - +## - Default (MariaDB: ./) +## - +#innodb-log-group-home-dir = ./ ## - innodb-buffer-pool-size ## - -## - The size in bytes of the buffer pool, the memory area where InnoDB +## - The size in bytes of the buffer pool, the memory area where InnoDB ## - caches table and index data. ## - ## - You can set .._buffer_pool_size up to 50 - 80 % ## - of RAM but beware of setting memory usage too high ## - ## - Note: -## - When the size of the buffer pool is greater than 1GB, setting -## - innodb_buffer_pool_instances to a value greater than 1 can improve +## - When the size of the buffer pool is greater than 1GB, setting +## - innodb_buffer_pool_instances to a value greater than 1 can improve ## - the scalability on a busy server. ## - ## - default: 134217728 (128M) @@ -389,7 +446,7 @@ innodb_buffer_pool_size = 4G ## - innodb_additional_mem_pool_size ## - -## - The size in bytes of a memory pool InnoDB uses to store data dictionary +## - The size in bytes of a memory pool InnoDB uses to store data dictionary ## - information and other internal data structures. ## - ## - Default: 8388608 (8M) @@ -406,11 +463,11 @@ innodb_buffer_pool_size = 4G ## - innodb_buffer_pool_instances ## - -## - The number of regions that the InnoDB buffer pool is divided into. +## - The number of regions that the InnoDB buffer pool is divided into. ## - ## - Note: -## - For systems with buffer pools in the multi-gigabyte range, dividing -## - the buffer pool into separate instances can improve concurrency, by +## - For systems with buffer pools in the multi-gigabyte range, dividing +## - the buffer pool into separate instances can improve concurrency, by ## - reducing contention as different threads read and write to cached pages. ## - ## - Default: 1 @@ -423,6 +480,7 @@ innodb_buffer_pool_size = 4G ## - The size in bytes of each log file in a log group. ## - ## - Default: 5242880 (5M) +## - Default: MariaDB 100663296 (96M) ## - ## (Set .._log_file_size to 25 % of buffer pool size) ## - @@ -432,7 +490,7 @@ innodb_log_file_size = 750M ## - innodb_log_buffer_size ## - -## - The size in bytes of the buffer that InnoDB uses to write to the +## - The size in bytes of the buffer that InnoDB uses to write to the ## - log files on disk. ## - ## - Default: 8388608 (8M) @@ -440,14 +498,15 @@ innodb_log_file_size = 750M #innodb-log-buffer-size = 8M #innodb-log-buffer-size = 32M innodb_log_buffer_size = 256M +#innodb_log_buffer_size = 512M ## - innodb_flush_log_at_trx_commit ## - -## - Controls the balance between strict ACID compliance for commit -## - operations, and higher performance that is possible when -## - commit-related I/O operations are rearranged and done in batches. -## - You can achieve better performance by changing the default value, -## - but then you can lose up to one second worth of transactions in a crash. +## - Controls the balance between strict ACID compliance for commit +## - operations, and higher performance that is possible when +## - commit-related I/O operations are rearranged and done in batches. +## - You can achieve better performance by changing the default value, +## - but then you can lose up to one second worth of transactions in a crash. ## - ## - In case of extrem slowly restores set ## - @@ -455,7 +514,7 @@ innodb_log_buffer_size = 256M ## - innodb_log_file_size = 256M ## - ## - Also try to add (befor DROP/CREATE/INSET Statements) to the dumpfile: -## - +## - ## - ... ## - SET FOREIGN_KEY_CHECKS=0; ## - SET unique_checks=0; @@ -468,6 +527,7 @@ innodb_log_buffer_size = 256M ## - #innodb-flush-log-at-trx-commit = 1 #innodb-flush-log-at-trx-commit = 2 +#innodb-flush-log-at-trx-commit = 0 ## - innodb_ft_cache_size ## - @@ -482,7 +542,7 @@ innodb_ft_cache_size = 24M ## - innodb_lock_wait_timeout ## - -## - The length of time in seconds an InnoDB transaction waits for a row +## - The length of time in seconds an InnoDB transaction waits for a row ## - lock before giving up. ## - ## - Default: 50 @@ -495,69 +555,81 @@ innodb_ft_cache_size = 24M ## - sort_buffer_size ## - -## - Each session that needs to do a sort allocates a buffer of this size. -## - sort_buffer_size is not specific to any storage engine and applies +## - Each session that needs to do a sort allocates a buffer of this size. +## - sort_buffer_size is not specific to any storage engine and applies ## - in a general manner for optimization. ## - ## - Default: 2097152 (2M) ## - #sort-buffer-size = 2M +#sort-buffer-size = 24M +#sort-buffer-size = 32M sort-buffer-size = 64M #_ - key_buffer_size ## - -## - key_buffer_size is a MyISAM parameter +## - key_buffer_size is a MyISAM parameter ## - -## - Index blocks for MyISAM tables are buffered and are shared by all threads. -## - key_buffer_size is the size of the buffer used for index blocks. The key +## - Index blocks for MyISAM tables are buffered and are shared by all threads. +## - key_buffer_size is the size of the buffer used for index blocks. The key ## - buffer is also known as the key cache. ## - ## - Default: 8388608 (8M) +## - Default MariaDB: 134217728 (128M) ## - +#key-buffer-size = 64M key-buffer-size = 384M +#key-buffer-size = 512M ## - read_buffer_size -## - -## - Each thread that does a sequential scan for a MyISAM table allocates -## - a buffer of this size (in bytes) for each table it scans. If you do +## - +## - Each thread that does a sequential scan for a MyISAM table allocates +## - a buffer of this size (in bytes) for each table it scans. If you do ## - many sequential scans, you might want to increase this value. ## - ## - Default: 131072 (128K) ## - #read-buffer-size = 2M +#read-buffer-size = 16M read-buffer-size = 32M ## - read_rnd_buffer_size ## - -## - This variable is used for reads from MyISAM tables, and, for any +## - This variable is used for reads from MyISAM tables, and, for any ## - storage engine, for Multi-Range Read optimization. ## - ## - Default: 262144 (256K) ## - #read-rnd-buffer-size = 8M +#read-rnd-buffer-size = 16M read-rnd-buffer-size = 32M ## - myisam_sort_buffer_size ## - -## - The size of the buffer that is allocated when sorting MyISAM indexes -## - during a REPAIR TABLE or when creating indexes with CREATE INDEX or -## - ALTER TABLE. +## - The size of the buffer that is allocated when sorting MyISAM indexes +## - during a REPAIR TABLE or when creating indexes with CREATE INDEX or +## - ALTER TABLE. ## - ## - Default: 8388608 (8M) +## - Default MariaDB: 134217728 (128M) ## - +##myisam-sort-buffer-size = 32M #myisam-sort-buffer-size = 64M myisam-sort-buffer-size = 256M +#myisam-sort-buffer-size = 384M +#myisam-sort-buffer-size = 512M ## - max_allowed_packet ## - -## - The maximum size of one packet or any generated/intermediate string, or -## - any parameter sent by the mysql_stmt_send_long_data() C API function. -## +## - The maximum size of one packet or any generated/intermediate string, or +## - any parameter sent by the mysql_stmt_send_long_data() C API function. +## ## - Default: 4MB (MySQL 5.6.6), 1MB before that. +## - Default MariaDB: 16777216 (16M) ## - #max-allowed-packet = 4M #max-allowed-packet = 32M @@ -566,26 +638,31 @@ max-allowed-packet = 64M ## - table_open_cache ## - -## - The number of open tables for all threads. Increasing this value +## - The number of open tables for all threads. Increasing this value ## - increases the number of file descriptors that mysqld requires. ## - -## - You can check whether you need to increase the table cache by checking -## - the Opened_tables status variable. If the value of Opened_tables is large -## - and you do not use FLUSH TABLES often (which just forces all tables to be -## - closed and reopened), then you should increase the value of the +## - You can check whether you need to increase the table cache by checking +## - the Opened_tables status variable. If the value of Opened_tables is large +## - and you do not use FLUSH TABLES often (which just forces all tables to be +## - closed and reopened), then you should increase the value of the ## - table_open_cache variable. ## - +## - Default MAriaDB: 2000 +## - #table-open-cache = 512 +#table_open_cache = 2048 table_open_cache = 8192 ## - table_definition_cache ## - -## - The number of table definitions (from .frm files) that can be stored +## - The number of table definitions (from .frm files) that can be stored ## - in the definition cache. ## - ## - Default: (400 + (table_open_cache / 2) since 5.6.8, 400 before +## - Defaiult MariaDB: 400 ## - #table-definition-cache = 1680 +table_definition_cache = 3072 #table_definition_cache = 5120 ## - max_connect_errors @@ -599,36 +676,41 @@ max-connect-errors = 999999 ## - NOTE: ## - This variable is specific to Solaris 8 and earlier systems. ## - -## - This variable is deprecated as of MySQL 5.6.1 and is removed in MySQL 5.7. -## - You should remove this from MySQL configuration files whenever you see it +## - This variable is deprecated as of MySQL 5.6.1 and is removed in MySQL 5.7. +## - You should remove this from MySQL configuration files whenever you see it ## - unless they are for Solaris 8 or earlier -## - +## - ## - (Try number of CPU's*2 for thread_concurrency) ## - #thread-concurrency = 16 ## - thread_cache_size ## - -## - How many threads the server should cache for reuse. When a client -## - disconnects, the client's threads are put in the cache if there are +## - How many threads the server should cache for reuse. When a client +## - disconnects, the client's threads are put in the cache if there are ## - fewer than thread_cache_size threads there. ## - ## - Default: 8 + (max_connections / 100) (5.6.8) , 0 (before) +## - Default MariaDB: 151 ## - #thread-cache-size = 8 +#thread_cache_size = 16 thread_cache_size = 32 +#thread-cache-size = 300 ## - thread_stack ## - -## - The stack size for each thread. Many of the limits detected by +## - The stack size for each thread. Many of the limits detected by ## - the crash-me test are dependent on this value. ## - -## - The default of 192KB (256KB for 64-bit systems) is large enough -## - for normal operation. If the thread stack size is too small, it -## - limits the complexity of the SQL statements that the server can handle, -## - the recursion depth of stored procedures, and other memory-consuming -## - actions. +## - The default of 192KB (256KB for 64-bit systems) is large enough +## - for normal operation. If the thread stack size is too small, it +## - limits the complexity of the SQL statements that the server can handle, +## - the recursion depth of stored procedures, and other memory-consuming +## - actions. +## - ## - Default: 262144 (256K) +## - Default MariaDB: 299008 (292K) ## - thread-stack = 262144 @@ -643,24 +725,13 @@ thread-stack = 262144 ## - Sincs version 5.5, you have to set default-storage-engine ## - to MyISAM, if using skip-innodb ## - -#default-storage-engine=MyISAM #skip-innodb - -## - log-error +## - default_storage_engine ## - -## - Log errors and startup messages to this file. If you omit the file -## - name, MySQL uses host_name.err. If the file name has no extension, -## - the server adds an extension of .err. +## - Default: InnoDB ## - -log-error = /var/log/mysql/mysql.err - - -## - Query Log -## - -#general-log = on -#general-log_file = /var/log/mysql/mysql.log - +#default-storage-engine=MyISAM ## - ft_min_word_len ## - @@ -670,46 +741,82 @@ log-error = /var/log/mysql/mysql.err ## - if you set ## - [mysqld] ## - ft_min_word_len=3 -## - +## - ## - you should also set ## - [myisamchk] ## - ft_min_word_len=3 -## - +## - ## - ## - Vorgabewert ist 4 #ft-min-word-len = 3 ## - ft_stopword_file ## - -## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird. -## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht -## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie -## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den +## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird. +## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht +## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie +## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den ## - Leer-String gesetzt (''), wird die Ausfilterung von Stoppwörtern deaktiviert. ## - -## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst, +## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst, ## - müssen die FULLTEXT-Indizes neu erstellt werden (REPAIR TABLE tbl_name QUICK. ). ## - +## - Example: +## - ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt +## - ft-stopword-file = /etc/mysql/stopwords_utf8_iso8859-15.txt +## - +## - Default: (built-in) +## - #ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt +## -------------- +## - log files + +## - general_log_file +## - general_log +## - +## - general_log enables/disables general_log_file.. +## - +## - Both location gets rotated by the cronjob. +## - Be aware that this log type is a performance killer. +## - Recommend only changing this at runtime for short testing periods if needed! +## - +general_log_file = /var/log/mysql/mysql.log +general_log = OFF + +## - log-error +## - +## - When running under systemd, error logging goes via stdout/stderr to journald +## - and when running legacy init error logging goes to syslog due to +## - /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf +## - Enable this if you want to have error logging into a separate file +## - +log_error = /var/log/mysql/error.log + +## - log files +## -------------- + ## ------------- ## - query cache - ## - query_cache_type ## - -## - 0 : verhindert das Speichern von Abfragen im und +## - 0 : verhindert das Speichern von Abfragen im und ## - das Abrufen aus dem Cache -## - 1 : gestattet das Speichern von Abfragen im Cache. -## - Ausgenommen sind Anweisungen, die mit -## - SELECT SQL_NO_CACHE beginnen. -## - 2 : speichert nur diejenigen Anweisungen im Cache, -## - die mit SELECT SQL_CACHE beginnen. +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. ## - ## - Removed since MySQL Version 8.0.3 ## - +## - But present at MariaDB +## - +## - Default MariaDB: OFF +## - ## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' ## - #query_cache_type = 1 @@ -719,9 +826,10 @@ log-error = /var/log/mysql/mysql.err ## - ## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im ## - Cache gespeichert werden können. -## - +## - ## - Vorgeabewert ist 1Mbyte ## - +## - But present at MariaDB ## - ## - Removed since MySQL Version 8.0.3 ## - @@ -734,23 +842,24 @@ log-error = /var/log/mysql/mysql.err ## - query_cache_min_res_unit ## - -## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück -## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser -## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste ## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) -## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer -## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit -## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte -## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass -## - unbenutzter Speicher freigegeben wird. +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. ## - ## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html ## - ## - Vorgabewert ist 4Kbyte ## - -## - ## - Removed since MySQL Version 8.0.3 ## - +## - But present at MariaDB +## - ## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' ## - #query-cache-min-res-unit = 8K @@ -761,17 +870,21 @@ log-error = /var/log/mysql/mysql.err ## - Die Größe des Abfrage-Caches. ## - ## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, -## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine -## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) ## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. ## - -## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. -## - +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. ## - ## - Removed since MySQL Version 8.0.3 ## - +## - But present at MariaDB +## - +## - Default MariaDB: 1048576 (1M) +## - ## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' ## - +#query-cache-size = 0 #query_cache_size = 32M #query-cache-size = 128M #query_cache_size = 1024M @@ -796,11 +909,11 @@ slow-query-log = 1 ## - long_query_time ## - ## - Wenn eine Abfrage länger dauert als durch diese Variable (in Sekunden) angegeben, -## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option -## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen -## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h. -## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert -## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen. +## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option +## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen +## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h. +## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert +## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen. ## - Der Mindestwert ist 1. ## - ## - Vorgabewert ist 10 @@ -811,7 +924,7 @@ long-query-time = 1 ## - slow_query_log_file ## - ## - Name der Logdatei, in die langsame Abfragen gespeichert werden. -## - +## - ## - Vorgabewert ist -slow.log ## - slow-query-log-file = /var/log/mysql/slow_query.log @@ -832,21 +945,22 @@ log-queries-not-using-indexes = 0 ## - join_buffer_size ## - -## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden -## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die -## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen. -## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen -## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für -## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt. -## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet +## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden +## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die +## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen. +## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen +## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für +## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt. +## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet ## - werden, sind unter Umständen mehrere Join-Puffer erforderlich. ## - -## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine +## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine ## - Indizes verwenden, in das Log für langsame Abfragen geschrieben. ## - ## - Vorgabewert ist 128K ## - #join-buffer-size = 384K +#join-buffer-size = 512K #join_buffer_size = 768K #join_buffer_size = 1024K join_buffer_size = 1536K @@ -855,14 +969,15 @@ join_buffer_size = 1536K ## - max_heap_table_size ## - -## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen. -## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen -## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene -## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt -## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden. +## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen. +## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen +## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene +## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt +## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden. ## - ## - Vorgabewert ist 16Mbyte ## - +#max-heap-table-size = 48M #max-heap-table-size = 96M #max_heap_table_size = 128M #max_heap_table_size = 768M @@ -872,17 +987,18 @@ max_heap_table_size = 2048M ## - tmp_table_size ## - -## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL -## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um. +## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL +## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um. ## - -## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher +## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher ## - vorhanden), so sollte diese Variable erhöht werden. -## +## ## - Default: 16777216 (16M) ## - -## - Note: +## - Note: ## - Effective in-memory tmp_table_size is limited to max_heap_table_size. ## - +#tmp-table-size = 48M #tmp-table-size = 96M #tmp_table_size = 768M tmp_table_size = 2048M @@ -890,24 +1006,25 @@ tmp_table_size = 2048M ## - optimizer_switch ## - -## - see: +## - see: ## - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_switch ## - https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_optimizer_switch ## - -## - The optimizer_switch system variable enables control over optimizer -## - behavior. The value of this variable is a set of flags, each of which -## - has a value of on or off to indicate whether the corresponding optimizer -## - behavior is enabled or disabled. This variable has global and session +## - The optimizer_switch system variable enables control over optimizer +## - behavior. The value of this variable is a set of flags, each of which +## - has a value of on or off to indicate whether the corresponding optimizer +## - behavior is enabled or disabled. This variable has global and session ## - values and can be changed at runtime. The global default can be set at -## - server startup. +## - server startup. ## - -## - To see the current set of optimizer flags, select the variable value: +## - To see the current set of optimizer flags, select the variable value: ## - ## - mysql> SELECT @@optimizer_switch\G ## - #optimizer_switch = '' -## - angepasste Einstellungen + +## - angepasste Einstellungen ## ------------------------------------------ @@ -918,20 +1035,20 @@ tmp_table_size = 2048M ## - innodb_purge_threads ## - -## - Number of background threads dedicated to InnoDB purge operations. The range +## - Number of background threads dedicated to InnoDB purge operations. The range ## - is 1 to 32. At least one background thread is always used from MariaDB 10.0. ## - -## - The default has been increased from 1 to 4 in MariaDB 10.2.2. Setting to a -## - value greater than 1 creates that many separate purge threads. This can improve -## - efficiency in some cases, such as when performing DML operations on many tables. -## - In MariaDB 5.5, the options are 0 and 1. If set to 0, the default, purging is -## - done with the primary thread. If set to 1, purging is done on a separate thread, +## - The default has been increased from 1 to 4 in MariaDB 10.2.2. Setting to a +## - value greater than 1 creates that many separate purge threads. This can improve +## - efficiency in some cases, such as when performing DML operations on many tables. +## - In MariaDB 5.5, the options are 0 and 1. If set to 0, the default, purging is +## - done with the primary thread. If set to 1, purging is done on a separate thread, ## - which could reduce contention. See also innodb_purge_batch_size. ## - ## - Default Value: ## - ## - 4 (>= MariaDB 10.2.2) -## - 1 (>=MariaDB 10.0 to <= MariaDB 10.2.1) +## - 1 (>=MariaDB 10.0 to <= MariaDB 10.2.1) #innodb_purge_threads = 4 @@ -940,13 +1057,13 @@ tmp_table_size = 2048M ## - query_cache_type ## - -## - 0 : verhindert das Speichern von Abfragen im und +## - 0 : verhindert das Speichern von Abfragen im und ## - das Abrufen aus dem Cache -## - 1 : gestattet das Speichern von Abfragen im Cache. -## - Ausgenommen sind Anweisungen, die mit -## - SELECT SQL_NO_CACHE beginnen. -## - 2 : speichert nur diejenigen Anweisungen im Cache, -## - die mit SELECT SQL_CACHE beginnen. +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. ## - ## - Removed since MySQL Version 8.0.3 ## - @@ -959,7 +1076,7 @@ query_cache_type = 1 ## - ## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im ## - Cache gespeichert werden können. -## - +## - ## - Vorgeabewert ist 1Mbyte ## - ## - @@ -967,20 +1084,21 @@ query_cache_type = 1 ## - #query-cache-limit = 4M #query_cache_limit = 8M +#query_cache_limit = 64M query_cache_limit = 128M ## - query_cache_min_res_unit ## - -## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück -## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser -## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste ## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) -## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer -## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit -## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte -## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass -## - unbenutzter Speicher freigegeben wird. +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. ## - ## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html ## - @@ -997,15 +1115,17 @@ query-cache-min-res-unit = 8K ## - Die Größe des Abfrage-Caches. ## - ## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, -## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine -## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) ## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. ## - -## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. -## - +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. ## - ## - Removed since MySQL Version 8.0.3 ## - +## - Default MariaDB: 1048576 (1M) +## - +#query-cache-size = 0 #query_cache_size = 32M #query-cache-size = 128M query_cache_size = 1024M @@ -1013,6 +1133,7 @@ query_cache_size = 1024M ## - query cache ## ------------- + ## - optimizer_switch ## - ## - see: @@ -1057,10 +1178,17 @@ optimizer_use_condition_selectivity = 1 [mariadb-10.3] +[mariadb-10.5] + + +[mariadb-10.11] + [mysqldump] quick -max-allowed-packet = 32M +max-allowed-packet = 1024M +default-character-set = utf8mb4 + [mysql] no-auto-rehash @@ -1068,6 +1196,7 @@ no-auto-rehash #safe-updates local-infile = 1 + [myisamchk] key-buffer-size = 256M sort-buffer-size = 256M @@ -1075,9 +1204,6 @@ read-buffer = 2M write-buffer = 2M -## ------------------------------------------ -## - angepasste Einstellungen - ## - ft_min_word_len ## - ## - Die minimale Länge des Wortes, das in einem FULLTEXT-Index enthalten sein darf. @@ -1086,18 +1212,15 @@ write-buffer = 2M ## - if you set ## - [mysqld] ## - ft_min_word_len=3 -## - +## - ## - you should also set ## - [myisamchk] ## - ft_min_word_len=3 -## - +## - ## - ## - Vorgabewert ist 4 #ft-min-word-len = 3 -## - angepasste Einstellungen -## ------------------------------------------ - [mysqlhotcopy] interactive-timeout diff --git a/Example/my.cnf.MariaDB-10.11 b/Example/my.cnf.MariaDB-10.11 index 4e90b3e..a16662c 100644 --- a/Example/my.cnf.MariaDB-10.11 +++ b/Example/my.cnf.MariaDB-10.11 @@ -15,7 +15,7 @@ # The following options will be passed to all MySQL clients [client] -port = 3306 +port = 3306 socket = /run/mysqld/mysqld.sock # Here follows entries for some specific programs @@ -32,31 +32,50 @@ innodb-open-files = 1048576 # The MySQL server [mysqld] -port = 3306 +port = 3306 socket = /run/mysqld/mysqld.sock #datadir = /data/mysql +## - performance_schema +## - +## - The Performance Schema is a very useful and highly under-utilised tool for +## - monitoring MySQL databases. You can measure all kinds of metrics with it, +## - like bad queries, the read/write ratio, and index usage to name a few. +## - +## - But in the free, open source fork, MariaDB, it's turned off by default, and +## - you have to manually switch it on. +## - +## - It's turned off by default in MariaDB because there is a slight performance hit +## - with using Performance Schema. I think this is only noticeable on high-traffic +## -servers with >100s of queries per second. +## - +performance-schema = ON + + ## - character-set-server ## - -## - The servers default character set. If you set this variable, you should also -## - set collation_server to specify the collation for the character set. +## - The servers default character set. If you set this variable, you should also +## - set collation_server to specify the collation for the character set. ## - ## - See also: https://dev.mysql.com/doc/refman/8.0/en/charset-configuration.html ## - ## - The default depend on cmake options: -## - +## - ## - cmake . \ ## - ... ## - -DDEFAULT_CHARSET=latin1 \ ## - -DDEFAULT_COLLATION=latin1_german1_ci ## - #character-set-server = utf8 +character-set-server = utf8mb4 ## - collation-server ## - -## - The server's default collation. See Section 10.14, “Character Set Configuration”. +## - The server's default collation. See Section 10.14, Character Set Configuration. +## - #collation-server = utf8_general_ci +collation-server = utf8mb4_general_ci ## - sql_mode @@ -114,23 +133,23 @@ tls_version=TLSv1.2,TLSv1.3 ## - ## - This variable is used to limit the effect of data import and export operations, ## - such as those performed by the LOAD DATA and SELECT ... INTO OUTFILE statements -## - and the LOAD_FILE() function. These operations are permitted only to users who +## - and the LOAD_FILE() function. These operations are permitted only to users who ## - have the FILE privilege. ## - ## - i.e.: GRANT FILE on *.* to piwik@localhost ## - ## - secure_file_priv may be set as follows: ## - -## - - If empty, the variable has no effect. (That means no restrictions). +## - - If empty, the variable has no effect. (That means no restrictions). ## - This is not a secure setting. -## - - If set to the name of a directory, the server limits import and export -## - operations to work only with files in that directory. The directory +## - - If set to the name of a directory, the server limits import and export +## - operations to work only with files in that directory. The directory ## - must exist; the server will not create it. -## - - If set to NULL, the server disables import and export operations. -## - This value is permitted as of MySQL 5.7.6. +## - - If set to NULL, the server disables import and export operations. +## - This value is permitted as of MySQL 5.7.6. ## - ## - Since MySQL v 5.7.16 the default 'secure_file_priv' value has changed -## - +## - ## - NULL (>= MySQL 5.7.16), empty (< MySQL 5.7.16) ## - ## - We use empty ("") @@ -146,8 +165,8 @@ secure-file-priv = "" ## - local-infile ## - -## - This variable controls server-side LOCAL capability for LOAD DATA statements. -## - Depending on the local_infile setting, the server refuses or permits local data +## - This variable controls server-side LOCAL capability for LOAD DATA statements. +## - Depending on the local_infile setting, the server refuses or permits local data ## - loading by clients that have LOCAL enabled on the client side. ## - ## - You can check your 'local-infile' setting on mysql prompt: @@ -157,16 +176,40 @@ secure-file-priv = "" #local-infile = 1 +## - skip_name_resolve +## - +## - Whether to resolve host names when checking client connections. If this variable is OFF, +## - mysqld resolves host names when checking client connections. If it is ON, mysqld uses +## - only IP numbers; in this case, all Host column values in the grant tables must be IP +## - addresses. See Section 5.1.11.2, “DNS Lookups and the Host Cache”. +## - +## - Depending on the network configuration of your system and the Host values for your +## - accounts, clients may need to connect using an explicit --host option, +## - such as --host=127.0.0.1 or --host=::1. +## - +## - An attempt to connect to the host 127.0.0.1 normally resolves to the localhost account. +## - However, this fails if the server is run with skip_name_resolve enabled. If you plan to +## - do that, make sure an account exists that can accept a connection. For example, to be +## - able to connect as root using --host=127.0.0.1 or --host=::1, create these accounts: +## - +## - CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password'; +## - CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password'; +## - +## - Default: OFF +## - +#skip-name-resolve = Off + + ## - skip_external_locking ## - ## - Affects only MyISAM table access. ## - -## - This is OFF if mysqld uses external locking (system locking), +## - This is OFF if mysqld uses external locking (system locking), ## - ON if external locking is disabled. ## - ## - Default: ON -## - -skip-external-locking +## - +skip-external-locking = On # Don't listen on a TCP/IP port at all. This can be a security enhancement, @@ -174,7 +217,7 @@ skip-external-locking # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! -# +# #skip-networking @@ -192,7 +235,8 @@ bind-address = 127.0.0.1 # required unique id between 1 and 2^32 - 1 # defaults to 1 if master-host is not set # but will not function as a master if omitted -server-id = 1 +server-id = 1 + # Replication Slave (comment out master section to use this) # @@ -249,12 +293,12 @@ server-id = 1 # binary logging - not required for slaves, but recommended #log-bin=mysql-bin # -# binary logging format - mixed recommended +# binary logging format - mixed recommended #binlog_format=mixed # Point the following paths to different dedicated disks -#tmpdir = /tmp/ -#log-update = /path-to-dedicated-directory/hostname +#tmpdir = /tmp/ +#log-update = /path-to-dedicated-directory/hostname ## - max_connections @@ -272,14 +316,14 @@ max-connections = 150 ## - ## - This variable was added in MySQL 5.6.6 ## - -## - In MySQL, the TIMESTAMP data type differs in nonstandard ways +## - In MySQL, the TIMESTAMP data type differs in nonstandard ways ## - from other data types. See MySQL Dokumentation. ## - ## - [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. ## - Please use --explicit_defaults_for_timestamp server option (see ## - documentation for more details). ## - -## - As indicated by the warning, to turn off the nonstandard behaviors, +## - As indicated by the warning, to turn off the nonstandard behaviors, ## - enable the new . ## - explicit-defaults-for-timestamp = TRUE @@ -301,8 +345,8 @@ explicit-defaults-for-timestamp = TRUE ## - low-priority-updates ## - -## - Give table-modifying operations (INSERT, REPLACE, DELETE, -## - UPDATE) lower priority than selects. +## - Give table-modifying operations (INSERT, REPLACE, DELETE, +## - UPDATE) lower priority than selects. ## - ## - low-priority-updates = 1 @@ -310,20 +354,21 @@ low-priority-updates = 1 ## - concurrent_insert ## - -## - If activated (1 or AUTO, the default), MySQL permits INSERT -## - and SELECT statements to run concurrently for MyISAM tables +## - If activated (1 or AUTO, the default), MySQL permits INSERT +## - and SELECT statements to run concurrently for MyISAM tables ## - that have no free blocks in the middle of the data file. ## - -## - If set to 2 or ALWAYS, MySQL enables concurrent inserts for -## - all MyISAM tables, even those that have holes. For a table with -## - a hole, new rows are inserted at the end of the table if it is -## - in use by another thread. Otherwise, MySQL acquires a normal +## - If set to 2 or ALWAYS, MySQL enables concurrent inserts for +## - all MyISAM tables, even those that have holes. For a table with +## - a hole, new rows are inserted at the end of the table if it is +## - in use by another thread. Otherwise, MySQL acquires a normal ## - write lock and inserts the row into the hole. ## - concurrent-insert = 2 ## - open-files-limit +## - innodb_open_files ## - ## - put the following lines into /etc/security/limits.conf ## - @@ -341,43 +386,55 @@ innodb-open-files = 1048576 ## - innodb_file_per_table ## - -## - When innodb_file_per_table is enabled (the default in 5.6.6 and higher), -## - InnoDB stores the data and indexes for each newly created table in a +## - When innodb_file_per_table is enabled (the default in 5.6.6 and higher), +## - InnoDB stores the data and indexes for each newly created table in a ## - separate .ibd file, rather than in the system tablespace. ## - innodb-file-per-table = 1 ## - innodb_data_home_dir -## - -## - Default: MySQL data directory +## - +## - Default: MySQL data directory (datadir) ## - #innodb-data-home_dir = /data/mysql -#innodb-data-file-path = ibdata1:2000M;ibdata2:10M:autoextend +## - innodb_data_file_path +## - +## - Example: +## - innodb-data-file-path = ibdata1:2000M;ibdata2:10M:autoextend +## - +## - Default (MariaDB: ibdata1:12M:autoextend) +## - +#innodb-data-file-path = ibdata1:12M:autoextend ## - innodb_log_group_home_dir ## - -## - The directory path to the InnoDB redo log files, whose number +## - The directory path to the InnoDB redo log files, whose number ## - is specified by innodb_log_files_in_group. ## - -## - If you do not specify any InnoDB log variables, the default is -## - to create two files named ib_logfile0 and ib_logfile1 in the MySQL -## - data directory. Their size is given by the size of the -## - innodb_log_file_size system variable. +## - If you do not specify any InnoDB log variables, the default is +## - to create two files named ib_logfile0 and ib_logfile1 in the MySQL +## - data directory. Their size is given by the size of the +## - innodb_log_file_size system variable. ## - -#innodb-log-group-home-dir = /var/lib/mysql/ +## - Example: +## - innodb-log-group-home-dir = /var/lib/mysql/ +## - +## - Default (MariaDB: ./) +## - +#innodb-log-group-home-dir = ./ ## - innodb-buffer-pool-size ## - -## - The size in bytes of the buffer pool, the memory area where InnoDB +## - The size in bytes of the buffer pool, the memory area where InnoDB ## - caches table and index data. ## - ## - You can set .._buffer_pool_size up to 50 - 80 % ## - of RAM but beware of setting memory usage too high ## - ## - Note: -## - When the size of the buffer pool is greater than 1GB, setting -## - innodb_buffer_pool_instances to a value greater than 1 can improve +## - When the size of the buffer pool is greater than 1GB, setting +## - innodb_buffer_pool_instances to a value greater than 1 can improve ## - the scalability on a busy server. ## - ## - default: 134217728 (128M) @@ -389,7 +446,7 @@ innodb-buffer-pool-size = 1024M ## - innodb_additional_mem_pool_size ## - -## - The size in bytes of a memory pool InnoDB uses to store data dictionary +## - The size in bytes of a memory pool InnoDB uses to store data dictionary ## - information and other internal data structures. ## - ## - Default: 8388608 (8M) @@ -406,11 +463,11 @@ innodb-buffer-pool-size = 1024M ## - innodb_buffer_pool_instances ## - -## - The number of regions that the InnoDB buffer pool is divided into. +## - The number of regions that the InnoDB buffer pool is divided into. ## - ## - Note: -## - For systems with buffer pools in the multi-gigabyte range, dividing -## - the buffer pool into separate instances can improve concurrency, by +## - For systems with buffer pools in the multi-gigabyte range, dividing +## - the buffer pool into separate instances can improve concurrency, by ## - reducing contention as different threads read and write to cached pages. ## - ## - Default: 1 @@ -423,16 +480,17 @@ innodb-buffer-pool-size = 1024M ## - The size in bytes of each log file in a log group. ## - ## - Default: 5242880 (5M) +## - Default: MariaDB 100663296 (96M) ## - ## (Set .._log_file_size to 25 % of buffer pool size) ## - -#innodb-log-file-size = 100M +#innodb-log-file-size = 96M innodb-log-file-size = 256M #innodb_log_file_size = 750M ## - innodb_log_buffer_size ## - -## - The size in bytes of the buffer that InnoDB uses to write to the +## - The size in bytes of the buffer that InnoDB uses to write to the ## - log files on disk. ## - ## - Default: 8388608 (8M) @@ -440,14 +498,15 @@ innodb-log-file-size = 256M #innodb-log-buffer-size = 8M innodb-log-buffer-size = 32M #innodb_log_buffer_size = 256M +#innodb_log_buffer_size = 512M ## - innodb_flush_log_at_trx_commit ## - -## - Controls the balance between strict ACID compliance for commit -## - operations, and higher performance that is possible when -## - commit-related I/O operations are rearranged and done in batches. -## - You can achieve better performance by changing the default value, -## - but then you can lose up to one second worth of transactions in a crash. +## - Controls the balance between strict ACID compliance for commit +## - operations, and higher performance that is possible when +## - commit-related I/O operations are rearranged and done in batches. +## - You can achieve better performance by changing the default value, +## - but then you can lose up to one second worth of transactions in a crash. ## - ## - In case of extrem slowly restores set ## - @@ -455,7 +514,7 @@ innodb-log-buffer-size = 32M ## - innodb_log_file_size = 256M ## - ## - Also try to add (befor DROP/CREATE/INSET Statements) to the dumpfile: -## - +## - ## - ... ## - SET FOREIGN_KEY_CHECKS=0; ## - SET unique_checks=0; @@ -468,6 +527,7 @@ innodb-log-buffer-size = 32M ## - #innodb-flush-log-at-trx-commit = 1 #innodb-flush-log-at-trx-commit = 2 +#innodb-flush-log-at-trx-commit = 0 ## - innodb_ft_cache_size ## - @@ -482,7 +542,7 @@ innodb_ft_cache_size = 24M ## - innodb_lock_wait_timeout ## - -## - The length of time in seconds an InnoDB transaction waits for a row +## - The length of time in seconds an InnoDB transaction waits for a row ## - lock before giving up. ## - ## - Default: 50 @@ -495,35 +555,38 @@ innodb_ft_cache_size = 24M ## - sort_buffer_size ## - -## - Each session that needs to do a sort allocates a buffer of this size. -## - sort_buffer_size is not specific to any storage engine and applies +## - Each session that needs to do a sort allocates a buffer of this size. +## - sort_buffer_size is not specific to any storage engine and applies ## - in a general manner for optimization. ## - ## - Default: 2097152 (2M) ## - #sort-buffer-size = 2M sort-buffer-size = 24M +#sort-buffer-size = 32M #sort-buffer-size = 64M -#_ - key_buffer_size +## - key_buffer_size ## - -## - key_buffer_size is a MyISAM parameter +## - key_buffer_size is a MyISAM parameter ## - -## - Index blocks for MyISAM tables are buffered and are shared by all threads. -## - key_buffer_size is the size of the buffer used for index blocks. The key +## - Index blocks for MyISAM tables are buffered and are shared by all threads. +## - key_buffer_size is the size of the buffer used for index blocks. The key ## - buffer is also known as the key cache. ## - ## - Default: 8388608 (8M) +## - Default MariaDB: 134217728 (128M) ## - key-buffer-size = 64M #key-buffer-size = 384M +#key-buffer-size = 512M ## - read_buffer_size -## - -## - Each thread that does a sequential scan for a MyISAM table allocates -## - a buffer of this size (in bytes) for each table it scans. If you do +## - +## - Each thread that does a sequential scan for a MyISAM table allocates +## - a buffer of this size (in bytes) for each table it scans. If you do ## - many sequential scans, you might want to increase this value. ## - ## - Default: 131072 (128K) @@ -534,7 +597,7 @@ read-buffer-size = 16M ## - read_rnd_buffer_size ## - -## - This variable is used for reads from MyISAM tables, and, for any +## - This variable is used for reads from MyISAM tables, and, for any ## - storage engine, for Multi-Range Read optimization. ## - ## - Default: 262144 (256K) @@ -546,23 +609,26 @@ read-rnd-buffer-size = 16M ## - myisam_sort_buffer_size ## - -## - The size of the buffer that is allocated when sorting MyISAM indexes -## - during a REPAIR TABLE or when creating indexes with CREATE INDEX or -## - ALTER TABLE. +## - The size of the buffer that is allocated when sorting MyISAM indexes +## - during a REPAIR TABLE or when creating indexes with CREATE INDEX or +## - ALTER TABLE. ## - ## - Default: 8388608 (8M) +## - Default MariaDB: 134217728 (128M) ## - #myisam-sort-buffer-size = 32M myisam-sort-buffer-size = 64M #myisam-sort-buffer-size = 256M - +#myisam-sort-buffer-size = 384M +#myisam-sort-buffer-size = 512M ## - max_allowed_packet ## - -## - The maximum size of one packet or any generated/intermediate string, or -## - any parameter sent by the mysql_stmt_send_long_data() C API function. -## +## - The maximum size of one packet or any generated/intermediate string, or +## - any parameter sent by the mysql_stmt_send_long_data() C API function. +## ## - Default: 4MB (MySQL 5.6.6), 1MB before that. +## - Default MariaDB: 16777216 (16M) ## - #max-allowed-packet = 4M #max-allowed-packet = 32M @@ -571,25 +637,28 @@ max-allowed-packet = 64M ## - table_open_cache ## - -## - The number of open tables for all threads. Increasing this value +## - The number of open tables for all threads. Increasing this value ## - increases the number of file descriptors that mysqld requires. ## - -## - You can check whether you need to increase the table cache by checking -## - the Opened_tables status variable. If the value of Opened_tables is large -## - and you do not use FLUSH TABLES often (which just forces all tables to be -## - closed and reopened), then you should increase the value of the +## - You can check whether you need to increase the table cache by checking +## - the Opened_tables status variable. If the value of Opened_tables is large +## - and you do not use FLUSH TABLES often (which just forces all tables to be +## - closed and reopened), then you should increase the value of the ## - table_open_cache variable. ## - +## - Default MAriaDB: 2000 +## - #table-open-cache = 512 table_open_cache = 2048 #table_open_cache = 8192 ## - table_definition_cache ## - -## - The number of table definitions (from .frm files) that can be stored +## - The number of table definitions (from .frm files) that can be stored ## - in the definition cache. ## - ## - Default: (400 + (table_open_cache / 2) since 5.6.8, 400 before +## - Defaiult MariaDB: 400 ## - #table-definition-cache = 1680 table_definition_cache = 3072 @@ -606,37 +675,41 @@ max-connect-errors = 999999 ## - NOTE: ## - This variable is specific to Solaris 8 and earlier systems. ## - -## - This variable is deprecated as of MySQL 5.6.1 and is removed in MySQL 5.7. -## - You should remove this from MySQL configuration files whenever you see it +## - This variable is deprecated as of MySQL 5.6.1 and is removed in MySQL 5.7. +## - You should remove this from MySQL configuration files whenever you see it ## - unless they are for Solaris 8 or earlier -## - +## - ## - (Try number of CPU's*2 for thread_concurrency) ## - #thread-concurrency = 16 ## - thread_cache_size ## - -## - How many threads the server should cache for reuse. When a client -## - disconnects, the client's threads are put in the cache if there are +## - How many threads the server should cache for reuse. When a client +## - disconnects, the client's threads are put in the cache if there are ## - fewer than thread_cache_size threads there. ## - ## - Default: 8 + (max_connections / 100) (5.6.8) , 0 (before) +## - Default MariaDB: 151 ## - #thread-cache-size = 8 thread_cache_size = 16 #thread_cache_size = 32 +#thread-cache-size = 300 ## - thread_stack ## - -## - The stack size for each thread. Many of the limits detected by +## - The stack size for each thread. Many of the limits detected by ## - the crash-me test are dependent on this value. ## - -## - The default of 192KB (256KB for 64-bit systems) is large enough -## - for normal operation. If the thread stack size is too small, it -## - limits the complexity of the SQL statements that the server can handle, -## - the recursion depth of stored procedures, and other memory-consuming -## - actions. +## - The default of 192KB (256KB for 64-bit systems) is large enough +## - for normal operation. If the thread stack size is too small, it +## - limits the complexity of the SQL statements that the server can handle, +## - the recursion depth of stored procedures, and other memory-consuming +## - actions. +## - ## - Default: 262144 (256K) +## - Default MariaDB: 299008 (292K) ## - thread-stack = 262144 @@ -651,23 +724,13 @@ thread-stack = 262144 ## - Sincs version 5.5, you have to set default-storage-engine ## - to MyISAM, if using skip-innodb ## - -#default-storage-engine=MyISAM #skip-innodb - -## - log-error +## - default_storage_engine ## - -## - Log errors and startup messages to this file. If you omit the file -## - name, MySQL uses host_name.err. If the file name has no extension, -## - the server adds an extension of .err. +## - Default: InnoDB ## - -log-error = /var/log/mysql/mysql.err - - -## - Query Log -## - -#general-log = on -#general-log_file = /var/log/mysql/mysql.log +#default-storage-engine=MyISAM ## - ft_min_word_len @@ -678,46 +741,82 @@ log-error = /var/log/mysql/mysql.err ## - if you set ## - [mysqld] ## - ft_min_word_len=3 -## - +## - ## - you should also set ## - [myisamchk] ## - ft_min_word_len=3 -## - +## - ## - ## - Vorgabewert ist 4 #ft-min-word-len = 3 ## - ft_stopword_file ## - -## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird. -## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht -## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie -## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den +## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird. +## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht +## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie +## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den ## - Leer-String gesetzt (''), wird die Ausfilterung von Stoppwörtern deaktiviert. ## - -## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst, +## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst, ## - müssen die FULLTEXT-Indizes neu erstellt werden (REPAIR TABLE tbl_name QUICK. ). ## - +## - Example: +## - ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt +## - ft-stopword-file = /etc/mysql/stopwords_utf8_iso8859-15.txt +## - +## - Default: (built-in) +## - #ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt +## -------------- +## - log files + +## - general_log_file +## - general_log +## - +## - general_log enables/disables general_log_file.. +## - +## - Both location gets rotated by the cronjob. +## - Be aware that this log type is a performance killer. +## - Recommend only changing this at runtime for short testing periods if needed! +## - +general_log_file = /var/log/mysql/mysql.log +general_log = OFF + +## - log-error +## - +## - When running under systemd, error logging goes via stdout/stderr to journald +## - and when running legacy init error logging goes to syslog due to +## - /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf +## - Enable this if you want to have error logging into a separate file +## - +log_error = /var/log/mysql/error.log + +## - log files +## -------------- + ## ------------- ## - query cache - ## - query_cache_type ## - -## - 0 : verhindert das Speichern von Abfragen im und +## - 0 : verhindert das Speichern von Abfragen im und ## - das Abrufen aus dem Cache -## - 1 : gestattet das Speichern von Abfragen im Cache. -## - Ausgenommen sind Anweisungen, die mit -## - SELECT SQL_NO_CACHE beginnen. -## - 2 : speichert nur diejenigen Anweisungen im Cache, -## - die mit SELECT SQL_CACHE beginnen. +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. ## - ## - Removed since MySQL Version 8.0.3 ## - +## - But present at MariaDB +## - +## - Default MariaDB: OFF +## - ## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' ## - #query_cache_type = 1 @@ -727,9 +826,10 @@ log-error = /var/log/mysql/mysql.err ## - ## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im ## - Cache gespeichert werden können. -## - +## - ## - Vorgeabewert ist 1Mbyte ## - +## - But present at MariaDB ## - ## - Removed since MySQL Version 8.0.3 ## - @@ -742,23 +842,24 @@ log-error = /var/log/mysql/mysql.err ## - query_cache_min_res_unit ## - -## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück -## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser -## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste ## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) -## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer -## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit -## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte -## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass -## - unbenutzter Speicher freigegeben wird. +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. ## - ## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html ## - ## - Vorgabewert ist 4Kbyte ## - -## - ## - Removed since MySQL Version 8.0.3 ## - +## - But present at MariaDB +## - ## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' ## - #query-cache-min-res-unit = 8K @@ -769,17 +870,21 @@ log-error = /var/log/mysql/mysql.err ## - Die Größe des Abfrage-Caches. ## - ## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, -## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine -## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) ## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. ## - -## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. -## - +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. ## - ## - Removed since MySQL Version 8.0.3 ## - +## - But present at MariaDB +## - +## - Default MariaDB: 1048576 (1M) +## - ## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' ## - +#query-cache-size = 0 #query_cache_size = 32M #query-cache-size = 128M #query_cache_size = 1024M @@ -804,11 +909,11 @@ slow-query-log = 1 ## - long_query_time ## - ## - Wenn eine Abfrage länger dauert als durch diese Variable (in Sekunden) angegeben, -## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option -## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen -## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h. -## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert -## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen. +## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option +## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen +## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h. +## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert +## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen. ## - Der Mindestwert ist 1. ## - ## - Vorgabewert ist 10 @@ -819,7 +924,7 @@ long-query-time = 1 ## - slow_query_log_file ## - ## - Name der Logdatei, in die langsame Abfragen gespeichert werden. -## - +## - ## - Vorgabewert ist -slow.log ## - slow-query-log-file = /var/log/mysql/slow_query.log @@ -840,21 +945,22 @@ log-queries-not-using-indexes = 0 ## - join_buffer_size ## - -## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden -## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die -## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen. -## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen -## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für -## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt. -## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet +## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden +## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die +## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen. +## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen +## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für +## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt. +## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet ## - werden, sind unter Umständen mehrere Join-Puffer erforderlich. ## - -## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine +## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine ## - Indizes verwenden, in das Log für langsame Abfragen geschrieben. ## - ## - Vorgabewert ist 128K ## - #join-buffer-size = 384K +#join-buffer-size = 512K join_buffer_size = 768K #join_buffer_size = 1024K #join_buffer_size = 1536K @@ -863,14 +969,15 @@ join_buffer_size = 768K ## - max_heap_table_size ## - -## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen. -## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen -## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene -## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt -## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden. +## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen. +## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen +## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene +## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt +## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden. ## - ## - Vorgabewert ist 16Mbyte ## - +#max-heap-table-size = 48M #max-heap-table-size = 96M #max_heap_table_size = 128M max_heap_table_size = 768M @@ -880,17 +987,18 @@ max_heap_table_size = 768M ## - tmp_table_size ## - -## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL -## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um. +## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL +## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um. ## - -## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher +## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher ## - vorhanden), so sollte diese Variable erhöht werden. -## +## ## - Default: 16777216 (16M) ## - -## - Note: +## - Note: ## - Effective in-memory tmp_table_size is limited to max_heap_table_size. ## - +#tmp-table-size = 48M #tmp-table-size = 96M tmp_table_size = 768M #tmp_table_size = 2048M @@ -916,7 +1024,7 @@ tmp_table_size = 768M #optimizer_switch = '' -## - angepasste Einstellungen +## - angepasste Einstellungen ## ------------------------------------------ @@ -927,20 +1035,20 @@ tmp_table_size = 768M ## - innodb_purge_threads ## - -## - Number of background threads dedicated to InnoDB purge operations. The range +## - Number of background threads dedicated to InnoDB purge operations. The range ## - is 1 to 32. At least one background thread is always used from MariaDB 10.0. ## - -## - The default has been increased from 1 to 4 in MariaDB 10.2.2. Setting to a -## - value greater than 1 creates that many separate purge threads. This can improve -## - efficiency in some cases, such as when performing DML operations on many tables. -## - In MariaDB 5.5, the options are 0 and 1. If set to 0, the default, purging is -## - done with the primary thread. If set to 1, purging is done on a separate thread, +## - The default has been increased from 1 to 4 in MariaDB 10.2.2. Setting to a +## - value greater than 1 creates that many separate purge threads. This can improve +## - efficiency in some cases, such as when performing DML operations on many tables. +## - In MariaDB 5.5, the options are 0 and 1. If set to 0, the default, purging is +## - done with the primary thread. If set to 1, purging is done on a separate thread, ## - which could reduce contention. See also innodb_purge_batch_size. ## - ## - Default Value: ## - ## - 4 (>= MariaDB 10.2.2) -## - 1 (>=MariaDB 10.0 to <= MariaDB 10.2.1) +## - 1 (>=MariaDB 10.0 to <= MariaDB 10.2.1) #innodb_purge_threads = 4 @@ -949,13 +1057,13 @@ tmp_table_size = 768M ## - query_cache_type ## - -## - 0 : verhindert das Speichern von Abfragen im und +## - 0 : verhindert das Speichern von Abfragen im und ## - das Abrufen aus dem Cache -## - 1 : gestattet das Speichern von Abfragen im Cache. -## - Ausgenommen sind Anweisungen, die mit -## - SELECT SQL_NO_CACHE beginnen. -## - 2 : speichert nur diejenigen Anweisungen im Cache, -## - die mit SELECT SQL_CACHE beginnen. +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. ## - ## - Removed since MySQL Version 8.0.3 ## - @@ -968,7 +1076,7 @@ query_cache_type = 1 ## - ## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im ## - Cache gespeichert werden können. -## - +## - ## - Vorgeabewert ist 1Mbyte ## - ## - @@ -982,15 +1090,15 @@ query_cache_limit = 64M ## - query_cache_min_res_unit ## - -## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück -## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser -## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste ## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) -## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer -## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit -## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte -## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass -## - unbenutzter Speicher freigegeben wird. +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. ## - ## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html ## - @@ -1007,15 +1115,16 @@ query-cache-min-res-unit = 8K ## - Die Größe des Abfrage-Caches. ## - ## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, -## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine -## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) ## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. ## - -## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. ## - ## - ## - Removed since MySQL Version 8.0.3 ## - +#query-cache-size = 0 #query_cache_size = 32M query-cache-size = 128M #query_cache_size = 1024M @@ -1026,15 +1135,15 @@ query-cache-size = 128M ## - optimizer_switch ## - -## - see: +## - see: ## - https://mariadb.com/kb/en/server-system-variables/#optimizer_switch ## - https://mariadb.com/kb/en/optimizer-switch ## - -## - Description: A series of flags for controlling the query optimizer. -## - See 'https://mariadb.com/kb/en/optimizer-switch/' for defaults, and -## - a comparison to MySQL. +## - Description: A series of flags for controlling the query optimizer. +## - See 'https://mariadb.com/kb/en/optimizer-switch/' for defaults, and +## - a comparison to MySQL. ## - -## - To see the current set of optimizer flags, select the variable value: +## - To see the current set of optimizer flags, select the variable value: ## - ## - mysql> SELECT @@optimizer_switch\G ## - @@ -1043,7 +1152,7 @@ query-cache-size = 128M ## - optimizer_use_condition_selectivity ## - -## - Description: Controls which statistics can be used by the optimizer when +## - Description: Controls which statistics can be used by the optimizer when ## - looking for the best query execution plan. ## - ## - 1 Use selectivity of predicates as in MariaDB 5.5. @@ -1054,10 +1163,10 @@ query-cache-size = 128M ## - ## - 4 Use selectivity of all range predicates estimated with histogram. ## - -## - 5 Additionally use selectivity of certain non-range predicates calculated +## - 5 Additionally use selectivity of certain non-range predicates calculated ## - on record sample. ## - -## - Default Value: 4 (>= MariaDB 10.4.1), 1 (<= MariaDB 10.4.0) +## - Default Value: 4 (>= MariaDB 10.4.1), 1 (<= MariaDB 10.4.0) ## - #optimizer_use_condition_selectivity = 1 @@ -1068,10 +1177,17 @@ query-cache-size = 128M [mariadb-10.3] +[mariadb-10.5] + + +[mariadb-10.11] + [mysqldump] quick max-allowed-packet = 512M +default-character-set = utf8mb4 + [mysql] no-auto-rehash @@ -1079,6 +1195,7 @@ no-auto-rehash #safe-updates local-infile = 1 + [myisamchk] key-buffer-size = 256M sort-buffer-size = 256M @@ -1086,9 +1203,6 @@ read-buffer = 2M write-buffer = 2M -## ------------------------------------------ -## - angepasste Einstellungen - ## - ft_min_word_len ## - ## - Die minimale Länge des Wortes, das in einem FULLTEXT-Index enthalten sein darf. @@ -1097,18 +1211,15 @@ write-buffer = 2M ## - if you set ## - [mysqld] ## - ft_min_word_len=3 -## - +## - ## - you should also set ## - [myisamchk] ## - ft_min_word_len=3 -## - ## - ## - Vorgabewert ist 4 +## - #ft-min-word-len = 3 -## - angepasste Einstellungen -## ------------------------------------------ - [mysqlhotcopy] interactive-timeout diff --git a/Example/my.cnf.MariaDB.postfix b/Example/my.cnf.MariaDB.postfix new file mode 100644 index 0000000..f81c9f8 --- /dev/null +++ b/Example/my.cnf.MariaDB.postfix @@ -0,0 +1,1241 @@ +# Example MySQL config file for very large systems. +# +# This is for a large system with memory of 1G-2G where the system runs mainly +# MySQL. +# +# You can copy this file to +# /etc/my.cnf to set global options, +# mysql-data-dir/my.cnf to set server-specific options (in this +# installation this directory is /var/lib/mysql) or +# ~/.my.cnf to set user-specific options. +# +# In this file, you can use all long options that a program supports. +# If you want to know which options a program supports, run the program +# with the "--help" option. + +# The following options will be passed to all MySQL clients +[client] +port = 3306 +socket = /run/mysqld/mysqld.sock + +# Here follows entries for some specific programs +# The following values assume you have at least 32M ram + +# This was formally known as [safe_mysqld]. Both versions are currently parsed. +[mysqld_safe] +socket = /run/mysqld/mysqld.sock +nice = 0 + +open-files-limit = 1048576 +innodb-open-files = 1048576 + + +# The MySQL server +[mysqld] +port = 3306 +socket = /run/mysqld/mysqld.sock +pid-file = /run/mysqld/mysqld.pid + + +## - performance_schema +## - +## - The Performance Schema is a very useful and highly under-utilised tool for +## - monitoring MySQL databases. You can measure all kinds of metrics with it, +## - like bad queries, the read/write ratio, and index usage to name a few. +## - +## - But in the free, open source fork, MariaDB, it's turned off by default, and +## - you have to manually switch it on. +## - +## - It's turned off by default in MariaDB because there is a slight performance hit +## - with using Performance Schema. I think this is only noticeable on high-traffic +## -servers with >100s of queries per second. +## - +performance-schema = ON + + +## - character-set-server +## - +## - The servers default character set. If you set this variable, you should also +## - set collation_server to specify the collation for the character set. +## - +## - See also: https://dev.mysql.com/doc/refman/8.0/en/charset-configuration.html +## - +## - The default depend on cmake options: +## - +## - cmake . \ +## - ... +## - -DDEFAULT_CHARSET=latin1 \ +## - -DDEFAULT_COLLATION=latin1_german1_ci +## - +#character-set-server = utf8 +character-set-server = utf8mb4 + +## - collation-server +## - +## - The server's default collation. See Section 10.14, Character Set Configuration. +## - +#collation-server = utf8_general_ci +collation-server = utf8mb4_general_ci + + +## - sql_mode +## - +## - The default on MariaDB 10.5 installation is: +## - +## - sql-mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" +## - +## - For now, we will use the default value - iIt seems to be ok. +## - +## - +## - Other defaults on MySQL installations: +## - +## - MySQL 8.0 +## - +## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available. The default on 8.0 MySQL +## - installations is +## - +## - sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION" +## - +## - +## - The default on 5.7 MySQL installations was: +## - +## - sql-mode = "ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" +## - +## - +## - NOTE (on 5.7 installation): +## - +## - NO_ZERO_DATE, NO_ZERO_IN_DATE and ERROR_FOR_DIVISION_BY_ZERO are deprecated, and all of them +## - are not part of strict mode, but should be used in conjunction with strict mode and are enabled +## - by default. A warning occurs if NO_ZERO_DATE or NO_ZERO_IN_DATE is enabled without also enabling +## - strict mode or vice versa. For additional discussion, see SQL Mode Changes in MySQL 5.7. +## - +## - +## - Because NO_ZERO_DATE, NO_ZERO_IN_DATE and ERROR_FOR_DIVISION_BY_ZERO are deprecated, expect it to +## - be removed in a future release of MySQL as a separate mode name and its effect included in the effects +## - of strict SQL mode. +## - +#sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" +sql-mode = "STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" + +## - Which protocols the server permits for encrypted connections. The value is a +## - comma-separated list containing one or more protocol versions. The protocols +## - that can be named for this variable depend on the SSL library used to compile +## - MySQL. Permitted protocols should be chosen such as not to leave 'holes' in the +## - list. For details, see Section 6.3.2, Encrypted Connection TLS Protocols and Ciphers. +## - +## - NOTE: +## - As of MySQL 5.7.35, the TLSv1 and TLSv1.1 connection protocols are deprecated +## - and support for them is subject to removal in a future version of MySQL. See +## - Deprecated TLS Protocols. +## - +#tls_version=TLSv1.2,TLSv1.3 + +## - secure-file-priv +## - +## - This variable is used to limit the effect of data import and export operations, +## - such as those performed by the LOAD DATA and SELECT ... INTO OUTFILE statements +## - and the LOAD_FILE() function. These operations are permitted only to users who +## - have the FILE privilege. +## - +## - i.e.: GRANT FILE on *.* to piwik@localhost +## - +## - secure_file_priv may be set as follows: +## - +## - - If empty, the variable has no effect. (That means no restrictions). +## - This is not a secure setting. +## - - If set to the name of a directory, the server limits import and export +## - operations to work only with files in that directory. The directory +## - must exist; the server will not create it. +## - - If set to NULL, the server disables import and export operations. +## - This value is permitted as of MySQL 5.7.6. +## - +## - Since MySQL v 5.7.16 the default 'secure_file_priv' value has changed +## - +## - NULL (>= MySQL 5.7.16), empty (< MySQL 5.7.16) +## - +## - We use empty ("") +## - +## - Note: +## - We changed the default to empty ("") while building from source +## - using CMake option (-DINSTALL_SECURE_FILE_PRIVDIR=""). So you can ignore +## - this option. +## - +#secure-file-priv = "" +secure-file-priv = "" + + +## - local-infile +## - +## - This variable controls server-side LOCAL capability for LOAD DATA statements. +## - Depending on the local_infile setting, the server refuses or permits local data +## - loading by clients that have LOCAL enabled on the client side. +## - +## - You can check your 'local-infile' setting on mysql prompt: +## - +## - SHOW GLOBAL VARIABLES LIKE 'local_infile'; +## - +#local-infile = 1 + + +## - skip_name_resolve +## - +## - Whether to resolve host names when checking client connections. If this variable is OFF, +## - mysqld resolves host names when checking client connections. If it is ON, mysqld uses +## - only IP numbers; in this case, all Host column values in the grant tables must be IP +## - addresses. See Section 5.1.11.2, “DNS Lookups and the Host Cache”. +## - +## - Depending on the network configuration of your system and the Host values for your +## - accounts, clients may need to connect using an explicit --host option, +## - such as --host=127.0.0.1 or --host=::1. +## - +## - An attempt to connect to the host 127.0.0.1 normally resolves to the localhost account. +## - However, this fails if the server is run with skip_name_resolve enabled. If you plan to +## - do that, make sure an account exists that can accept a connection. For example, to be +## - able to connect as root using --host=127.0.0.1 or --host=::1, create these accounts: +## - +## - CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password'; +## - CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password'; +## - +## - Default: OFF +## - +#skip-name-resolve = Off + + +## - skip_external_locking +## - +## - Affects only MyISAM table access. +## - +## - This is OFF if mysqld uses external locking (system locking), +## - ON if external locking is disabled. +## - +## - Default: ON +## - +skip-external-locking = On + + +# Don't listen on a TCP/IP port at all. This can be a security enhancement, +# if all processes that need to connect to mysqld run on the same host. +# All interaction with mysqld must be made via Unix sockets or named pipes. +# Note that using this option without enabling named pipes on Windows +# (via the "enable-named-pipe" option) will render mysqld useless! +# +#skip-networking + + +# Instead of skip-networking the default is now to listen only on +# localhost which is more compatible and is not less secure. +# +#bind-address = 127.0.0.1 + + +# Replication Master Server (default) +# binary logging is required for replication +#log-bin=mysql-bin + +# required unique id between 1 and 2^32 - 1 +# defaults to 1 if master-host is not set +# but will not function as a master if omitted +server-id = 1 + + +# Replication Slave (comment out master section to use this) +# +# To configure this host as a replication slave, you can choose between +# two methods : +# +# 1) Use the CHANGE MASTER TO command (fully described in our manual) - +# the syntax is: +# +# CHANGE MASTER TO MASTER_HOST=, MASTER_PORT=, +# MASTER_USER=, MASTER_PASSWORD= ; +# +# where you replace , , by quoted strings and +# by the master's port number (3306 by default). +# +# Example: +# +# CHANGE MASTER TO MASTER_HOST='125.564.12.1', MASTER_PORT=3306, +# MASTER_USER='joe', MASTER_PASSWORD='secret'; +# +# OR +# +# 2) Set the variables below. However, in case you choose this method, then +# start replication for the first time (even unsuccessfully, for example +# if you mistyped the password in master-password and the slave fails to +# connect), the slave will create a master.info file, and any later +# change in this file to the variables' values below will be ignored and +# overridden by the content of the master.info file, unless you shutdown +# the slave server, delete master.info and restart the slaver server. +# For that reason, you may want to leave the lines below untouched +# (commented) and instead use CHANGE MASTER TO (see above) +# +# required unique id between 2 and 2^32 - 1 +# (and different from the master) +# defaults to 2 if master-host is set +# but will not function as a slave if omitted +#server-id = 2 +# +# The replication master for this slave - required +#master-host = +# +# The username the slave will use for authentication when connecting +# to the master - required +#master-user = +# +# The password the slave will authenticate with when connecting to +# the master - required +#master-password = +# +# The port the master is listening on. +# optional - defaults to 3306 +#master-port = +# +# binary logging - not required for slaves, but recommended +#log-bin=mysql-bin +# +# binary logging format - mixed recommended +#binlog_format=mixed + +# Point the following paths to different dedicated disks +#tmpdir = /tmp/ +#log-update = /path-to-dedicated-directory/hostname + + +## - max_connections +## - +## - Die zulässige Anzahl nebenläufiger Clientverbindungen. Wenn dieser Wert erhöht +## - wird, erhöht sich auch die Anzahl der Dateideskriptoren, die mysqld benötigt. +## - +## - Vorgabewert ist 100 +## - +max-connections = 100 + + +## - explicit_defaults_for_timestamp +## - +## - This variable was added in MySQL 5.6.6 +## - +## - In MySQL, the TIMESTAMP data type differs in nonstandard ways +## - from other data types. See MySQL Dokumentation. +## - +## - [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. +## - Please use --explicit_defaults_for_timestamp server option (see +## - documentation for more details). +## - +## - As indicated by the warning, to turn off the nonstandard behaviors, +## - enable the new . +## - +explicit-defaults-for-timestamp = ON + + +## - MySQL Fehlermeldungen +## - +## - !! Notice +## - erst ab für mysql 5.5.x +## - +## - lc-messages=de_DE +## - lc-messages-dir=/usr/local/mysql/share +## - +## - bis 5.1.x +## - +## - language=/usr/local/mysql/share/german +## - + + +## - low-priority-updates +## - +## - Give table-modifying operations (INSERT, REPLACE, DELETE, +## - UPDATE) lower priority than selects. +## - +## - +#low-priority-updates = 1 + + +## - concurrent_insert +## - +## - If activated (1 or AUTO, the default), MySQL permits INSERT +## - and SELECT statements to run concurrently for MyISAM tables +## - that have no free blocks in the middle of the data file. +## - +## - If set to 2 or ALWAYS, MySQL enables concurrent inserts for +## - all MyISAM tables, even those that have holes. For a table with +## - a hole, new rows are inserted at the end of the table if it is +## - in use by another thread. Otherwise, MySQL acquires a normal +## - write lock and inserts the row into the hole. +## - +#concurrent-insert = 2 + + +## - open-files-limit +## - innodb_open_files +## - +## - put the following lines into /etc/security/limits.conf +## - +## - @staff hard nofile 32768 +## - root hard nofile 32768 +## - +## - see also http://linux-vserver.org/Ulimit_Nofiles +## - +open-files-limit = 1048576 +innodb-open-files = 1048576 + + +## ------------------------- +## InnoDB specific variables + +## - innodb_file_per_table +## - +## - When innodb_file_per_table is enabled (the default in 5.6.6 and higher), +## - InnoDB stores the data and indexes for each newly created table in a +## - separate .ibd file, rather than in the system tablespace. +## - +innodb-file-per-table = ON + +## - innodb_data_home_dir +## - +## - Default: MySQL data directory (datadir) +## - +#innodb-data-home-dir = + +## - innodb_data_file_path +## - +## - Example: +## - innodb-data-file-path = ibdata1:2000M;ibdata2:10M:autoextend +## - +## - Default (MariaDB: ibdata1:12M:autoextend) +## - +#innodb-data-file-path = ibdata1:12M:autoextend + +## - innodb_log_group_home_dir +## - +## - The directory path to the InnoDB redo log files, whose number +## - is specified by innodb_log_files_in_group. +## - +## - If you do not specify any InnoDB log variables, the default is +## - to create two files named ib_logfile0 and ib_logfile1 in the MySQL +## - data directory. Their size is given by the size of the +## - innodb_log_file_size system variable. +## - +## - Example: +## - innodb-log-group-home-dir = /var/lib/mysql/ +## - +## - Default (MariaDB: ./) +## - +#innodb-log-group-home-dir = ./ + +## - innodb-buffer-pool_size +## - +## - The size in bytes of the buffer pool, the memory area where InnoDB +## - caches table and index data. +## - +## - You can set .._buffer_pool_size up to 50 - 80 % +## - of RAM but beware of setting memory usage too high +## - +## - Note: +## - When the size of the buffer pool is greater than 1GB, setting +## - innodb_buffer_pool_instances to a value greater than 1 can improve +## - the scalability on a busy server. +## - +## - default: 134217728 (128M) +## - +innodb-buffer-pool-size = 384M +#innodb-buffer-pool-size = 1024M +#innodb_buffer_pool_size = 4G + + +## - innodb_additional_mem_pool_size +## - +## - The size in bytes of a memory pool InnoDB uses to store data dictionary +## - information and other internal data structures. +## - +## - Default: 8388608 (8M) +## - +## - Note !! +## - innodb_additional_mem_pool_size is deprected since version 5.6.3 +## - innodb_additional_mem_pool_size is removed since version 5.7 +## - +## - innodb_additional_mem_pool_size is also removed on MariaDB 10.3.x +## - +#innodb-additional-mem-pool-size = 20M +#innodb-additional-mem-pool-size = 40M + + +## - innodb_buffer_pool_instances +## - +## - The number of regions that the InnoDB buffer pool is divided into. +## - +## - Note: +## - For systems with buffer pools in the multi-gigabyte range, dividing +## - the buffer pool into separate instances can improve concurrency, by +## - reducing contention as different threads read and write to cached pages. +## - +## - Default: 1 +## - +#innodb-buffer-pool-instances = 1 + + +## - innodb_log_file_size +## - +## - The size in bytes of each log file in a log group. +## - +## - Default: 5242880 (5M) +## - Default: MariaDB 100663296 (96M) +## - +## (Set .._log_file_size to 25 % of buffer pool size) +## - +innodb-log-file-size = 96M +#innodb-log-file-size = 256M +#innodb-log-file-size = 750M + +## - innodb_log_buffer_size +## - +## - The size in bytes of the buffer that InnoDB uses to write to the +## - log files on disk. +## - +## - Default: 8388608 (8M) +## - Default MariaDB: 16777216 (16M) +## - +#innodb-log-buffer-size = 16M +innodb-log-buffer-size = 32M +#innodb_log_buffer_size = 256M +#innodb_log_buffer_size = 512M + +## - innodb_flush_log_at_trx_commit +## - +## - Controls the balance between strict ACID compliance for commit +## - operations, and higher performance that is possible when +## - commit-related I/O operations are rearranged and done in batches. +## - You can achieve better performance by changing the default value, +## - but then you can lose up to one second worth of transactions in a crash. +## - +## - In case of extrem slowly restores set +## - +## - innodb_flush_log_at_trx_commit = 2 +## - innodb_log_file_size = 256M +## - +## - Also try to add (befor DROP/CREATE/INSET Statements) to the dumpfile: +## - +## - ... +## - SET FOREIGN_KEY_CHECKS=0; +## - SET unique_checks=0; +## - SET AUTOCOMMIT=0; +## - +## - DROP TABLE IF EXISTS.. +## - +## - Default: innodb-flush-log-at-trx-commit = 1 +## - +#innodb-flush-log-at-trx-commit = 1 +#innodb-flush-log-at-trx-commit = 2 +innodb-flush-log-at-trx-commit = 0 + +## - innodb_ft_cache_size +## - +## - InnoDB Fulltext search cache size in bytes. +## - +## - Cache size available for a parsed document while creating an +## - InnoDB FULLTEXT index. +## - +## - Deafult: 8000000 # ~ 7,6 MB +## - +#innodb_ft_cache_size = 24M + +## - innodb_lock_wait_timeout +## - +## - The length of time in seconds an InnoDB transaction waits for a row +## - lock before giving up. +## - +## - Default: 50 +## - +#innodb-lock-wait-timeout = 50 + +## InnoDB specific variables +## ------------------------- + + +## - sort_buffer_size +## - +## - Each session that needs to do a sort allocates a buffer of this size. +## - sort_buffer_size is not specific to any storage engine and applies +## - in a general manner for optimization. +## - +## - Default: 2097152 (2M) +## - +#sort-buffer-size = 2M +#sort-buffer-size = 24M +#sort-buffer-size = 32M +#sort-buffer-size = 64M + + +## - key_buffer_size +## - +## - key_buffer_size is a MyISAM parameter +## - +## - Index blocks for MyISAM tables are buffered and are shared by all threads. +## - key_buffer_size is the size of the buffer used for index blocks. The key +## - buffer is also known as the key cache. +## - +## - Default: 8388608 (8M) +## - Default MariaDB: 134217728 (128M) +## - +key-buffer-size = 256M +#key-buffer-size = 384M +#key-buffer-size = 512M + + +## - read_buffer_size +## - +## - Each thread that does a sequential scan for a MyISAM table allocates +## - a buffer of this size (in bytes) for each table it scans. If you do +## - many sequential scans, you might want to increase this value. +## - +## - Default: 131072 (128K) +## - +read-buffer-size = 2M +#read-buffer-size = 16M +#read-buffer-size = 32M + +## - read_rnd_buffer_size +## - +## - This variable is used for reads from MyISAM tables, and, for any +## - storage engine, for Multi-Range Read optimization. +## - +## - Default: 262144 (256K) +## - +read-rnd-buffer-size = 4M +#read-rnd-buffer-size = 8M +#read-rnd-buffer-size = 32M + + +## - myisam_sort_buffer_size +## - +## - The size of the buffer that is allocated when sorting MyISAM indexes +## - during a REPAIR TABLE or when creating indexes with CREATE INDEX or +## - ALTER TABLE. +## - +## - Default: 8388608 (8M) +## - Default MariaDB: 134217728 (128M) +## - +#myisam-sort-buffer-size = 32M +#myisam-sort-buffer-size = 64M +myisam-sort-buffer-size = 256M +#myisam-sort-buffer-size = 384M +#myisam-sort-buffer-size = 512M + + +## - max_allowed_packet +## - +## - The maximum size of one packet or any generated/intermediate string, or +## - any parameter sent by the mysql_stmt_send_long_data() C API function. +## +## - Default: 4MB (MySQL 5.6.6), 1MB before that. +## - Default MariaDB: 16777216 (16M) +## - +max-allowed-packet = 24M +#max-allowed-packet = 32M +#max-allowed-packet = 1024M + + +## - table_open_cache +## - +## - The number of open tables for all threads. Increasing this value +## - increases the number of file descriptors that mysqld requires. +## - +## - You can check whether you need to increase the table cache by checking +## - the Opened_tables status variable. If the value of Opened_tables is large +## - and you do not use FLUSH TABLES often (which just forces all tables to be +## - closed and reopened), then you should increase the value of the +## - table_open_cache variable. +## - +## - Default MAriaDB: 2000 +## - +table-open-cache = 3072 +#table-open-cache = 6144 +#table-open-cache = 8192 + +## - table_definition_cache +## - +## - The number of table definitions (from .frm files) that can be stored +## - in the definition cache. +## - +## - Default: (400 + (table_open_cache / 2) since 5.6.8, 400 before +## - Defaiult MariaDB: 400 +## - +table-definition-cache = 1936 +#table-definition-cache = 3472 +#table-definition-cache = 4496 + +## - max_connect_errors +## - +## - Default: 100 +## - +max-connect-errors = 999999 + +## - thread_concurrency +## - +## - NOTE: +## - This variable is specific to Solaris 8 and earlier systems. +## - +## - This variable is deprecated as of MySQL 5.6.1 and is removed in MySQL 5.7. +## - You should remove this from MySQL configuration files whenever you see it +## - unless they are for Solaris 8 or earlier +## - +## - (Try number of CPU's*2 for thread_concurrency) +## - +#thread-concurrency = 16 + +## - thread_cache_size +## - +## - How many threads the server should cache for reuse. When a client +## - disconnects, the client's threads are put in the cache if there are +## - fewer than thread_cache_size threads there. +## - +## - Default: 8 + (max_connections / 100) (5.6.8) , 0 (before) +## - Default MariaDB: 151 +## - +#thread-cache-size = 8 +#thread_cache_size = 16 +#thread_cache_size = 32 +#thread-cache-size = 300 + +## - thread_stack +## - +## - The stack size for each thread. Many of the limits detected by +## - the crash-me test are dependent on this value. +## - +## - The default of 192KB (256KB for 64-bit systems) is large enough +## - for normal operation. If the thread stack size is too small, it +## - limits the complexity of the SQL statements that the server can handle, +## - the recursion depth of stored procedures, and other memory-consuming +## - actions. +## - +## - Default: 262144 (256K) +## - Default MariaDB: 299008 (292K) +## - +#thread-stack = 584K + + +## - Unbenutze Datenbank Engines deaktivieren +## - + +## - skip-innodb (DEPRECATED) +## - +## - Deaktiviert die Unterstützung für InnoDB +## - +## - Sincs version 5.5, you have to set default-storage-engine +## - to MyISAM, if using skip-innodb +## - +#skip-innodb + +## - default_storage_engine +## - +## - Default: InnoDB +## - +#default-storage-engine = InnoDB + + +## - ft_min_word_len +## - +## - Die minimale Länge des Wortes, das in einem FULLTEXT-Index enthalten sein darf. +## - +## - Notice! +## - if you set +## - [mysqld] +## - ft_min_word_len=3 +## - +## - you should also set +## - [myisamchk] +## - ft_min_word_len=3 +## - +## - Vorgabewert ist 4 +## - +#ft-min-word-len = 3 + +## - ft_stopword_file +## - +## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird. +## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht +## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie +## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den +## - Leer-String gesetzt (''), wird die Ausfilterung von Stoppwörtern deaktiviert. +## - +## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst, +## - müssen die FULLTEXT-Indizes neu erstellt werden (REPAIR TABLE tbl_name QUICK. ). +## - +## - Example: +## - ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt +## - ft-stopword-file = /etc/mysql/stopwords_utf8_iso8859-15.txt +## - +## - Default: (built-in) +## +#ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt + + +## -------------- +## - log files + +## - general_log_file +## - general_log +## - +## - general_log enables/disables general_log_file.. +## - +## - Both location gets rotated by the cronjob. +## - Be aware that this log type is a performance killer. +## - Recommend only changing this at runtime for short testing periods if needed! +## - +general_log_file = /var/log/mysql/mysql.log +general_log = OFF + +## - log-error +## - +## - When running under systemd, error logging goes via stdout/stderr to journald +## - and when running legacy init error logging goes to syslog due to +## - /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf +## - Enable this if you want to have error logging into a separate file +## - +log_error = /var/log/mysql/error.log + +## - log files +## -------------- + + +## ------------- +## - query cache + +## - query_cache_type +## - +## - 0 : verhindert das Speichern von Abfragen im und +## - das Abrufen aus dem Cache +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. +## - +## - Removed since MySQL Version 8.0.3 +## - +## - But present at MariaDB +## - +## - Default MariaDB: OFF +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +#query_cache_type = 1 + + +## - query_cache_limit +## - +## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im +## - Cache gespeichert werden können. +## - +## - Vorgeabewert ist 1Mbyte +## - +## - But present at MariaDB +## - +## - Removed since MySQL Version 8.0.3 +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +#query-cache-limit = 4M +#query-cache-limit = 8M +#query_cache_limit = 128M + + +## - query_cache_min_res_unit +## - +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. +## - +## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html +## - +## - Vorgabewert ist 4Kbyte +## - +## - Removed since MySQL Version 8.0.3 +## - +## - But present at MariaDB +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +#query-cache-min-res-unit = 16K + + +## - query_cache_size +## - +## - Die Größe des Abfrage-Caches. +## - +## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. +## - +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. +## - +## - Removed since MySQL Version 8.0.3 +## - +## - But present at MariaDB +## - +## - Default MariaDB: 1048576 (1M) +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +#query-cache-size = 0 +#query_cache_size = 32M +#query_cache_size = 128M +#query_cache_size = 1024M + +## - query cache +## ------------- + + +## -------------- +## - slow queries + +## - slow_query_log +## - +## - Gibt an, ob das Logging für langsame Abfragen eingeschaltet (1 oder ON) +## - bzw ausgeschaltet (0 oder OFF) ist. +## - +## - Vorgabewert ist 0 oder OFF +## - +slow-query-log = ON + + +## - long_query_time +## - +## - Wenn eine Abfrage länger dauert als durch diese Variable (in Sekunden) angegeben, +## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option +## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen +## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h. +## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert +## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen. +## - Der Mindestwert ist 1. +## - +## - Vorgabewert ist 10 +## - +#long-query-time = 1 +long-query-time = 5 + + +## - slow_query_log_file +## - +## - Name der Logdatei, in die langsame Abfragen gespeichert werden. +## - +## - Vorgabewert ist -slow.log +## - +slow-query-log-file = /var/log/mysql/slow_query.log + + +## - log-queries-not-using-indexes +## - +## - Gibt an, ob Abfragen, die keine Indizes benutzen in der Logdatei +## - für langsame Abfragen mitgespeichert werden sollen. +## - +## - Vorgabewert ist 0 +## - +#log-queries-not-using-indexes = 1 +log-queries-not-using-indexes = 0 + +## - min_examined_row_limit +## - +## - ??? + +## - slow queries +## -------------- + + +## - join_buffer_size +## - +## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden +## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die +## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen. +## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen +## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für +## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt. +## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet +## - werden, sind unter Umständen mehrere Join-Puffer erforderlich. +## - +## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine +## - Indizes verwenden, in das Log für langsame Abfragen geschrieben. +## - +## - Vorgabewert ist 256K +## - +join-buffer-size = 384K +#join-buffer-size = 512K +#join-buffer-size = 768K +#join-buffer-size = 1024K +#join-buffer-size = 1536K + + + +## - max_heap_table_size +## - +## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen. +## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen +## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene +## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt +## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden. +## - +## - Vorgabewert ist 16Mbyte +## - +max-heap-table-size = 48M +#max-heap-table-size = 96M +#max_heap_table_size = 128M +#max_heap_table_size = 768M +#max_heap_table_size = 1024M +#max_heap_table_size = 2048M + + +## - tmp_table_size +## - +## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL +## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um. +## - +## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher +## - vorhanden), so sollte diese Variable erhöht werden. +## +## - Default: 16777216 (16M) +## - +## - Note: +## - Effective in-memory tmp_table_size is limited to max_heap_table_size. +## - +tmp-table-size = 48M +#tmp-table-size = 96M +#tmp_table_size = 768M +#tmp_table_size = 2048M + + +## - optimizer_switch +## - +## - see: +## - https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_switch +## - https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_optimizer_switch +## - +## - The optimizer_switch system variable enables control over optimizer +## - behavior. The value of this variable is a set of flags, each of which +## - has a value of on or off to indicate whether the corresponding optimizer +## - behavior is enabled or disabled. This variable has global and session +## - values and can be changed at runtime. The global default can be set at +## - server startup. +## - +## - To see the current set of optimizer flags, select the variable value: +## - +## - mysql> SELECT @@optimizer_switch\G +## - +#optimizer_switch = '' + + +## - angepasste Einstellungen +## ------------------------------------------ + + +# This group is only read by MariaDB servers, not by MySQL. +# If you use the same .cnf file for MySQL and MariaDB, +# you can put MariaDB-only options here +[mariadb] + +## - innodb_purge_threads +## - +## - Number of background threads dedicated to InnoDB purge operations. The range +## - is 1 to 32. At least one background thread is always used from MariaDB 10.0. +## - +## - The default has been increased from 1 to 4 in MariaDB 10.2.2. Setting to a +## - value greater than 1 creates that many separate purge threads. This can improve +## - efficiency in some cases, such as when performing DML operations on many tables. +## - In MariaDB 5.5, the options are 0 and 1. If set to 0, the default, purging is +## - done with the primary thread. If set to 1, purging is done on a separate thread, +## - which could reduce contention. See also innodb_purge_batch_size. +## - +## - Default Value: +## - +## - 4 (>= MariaDB 10.2.2) +## - 1 (>=MariaDB 10.0 to <= MariaDB 10.2.1) +#innodb_purge_threads = 4 + + +## ------------- +## - query cache + +## - query_cache_type +## - +## - 0 : verhindert das Speichern von Abfragen im und +## - das Abrufen aus dem Cache +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. +## - +## - Removed since MySQL Version 8.0.3 +## - +## - But present at MariaDB +## - +query_cache_type = 0 + + +## - query_cache_limit +## - +## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im +## - Cache gespeichert werden können. +## - +## - Vorgeabewert ist 1Mbyte +## - +## - +## - Removed since MySQL Version 8.0.3 +## - +#query-cache-limit = 4M +#query_cache_limit = 8M +#query_cache_limit = 64M +#query_cache_limit = 128M + + +## - query_cache_min_res_unit +## - +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. +## - +## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html +## - +## - Vorgabewert ist 4Kbyte +## - +## - +## - Removed since MySQL Version 8.0.3 +## - +query-cache-min-res-unit = 8K + + +## - query_cache_size +## - +## - Die Größe des Abfrage-Caches. +## - +## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. +## - +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. +## - +## - +## - Removed since MySQL Version 8.0.3 +## - +query-cache-size = 0 +#query_cache_size = 32M +#query-cache-size = 128M +#query_cache_size = 1024M + +## - query cache +## ------------- + + +## - optimizer_switch +## - +## - see: +## - https://mariadb.com/kb/en/server-system-variables/#optimizer_switch +## - https://mariadb.com/kb/en/optimizer-switch +## - +## - Description: A series of flags for controlling the query optimizer. +## - See 'https://mariadb.com/kb/en/optimizer-switch/' for defaults, and +## - a comparison to MySQL. +## - +## - To see the current set of optimizer flags, select the variable value: +## - +## - mysql> SELECT @@optimizer_switch\G +## - +#optimizer_switch = 'rowid_filter=off' + + +## - optimizer_use_condition_selectivity +## - +## - Description: Controls which statistics can be used by the optimizer when +## - looking for the best query execution plan. +## - +## - 1 Use selectivity of predicates as in MariaDB 5.5. +## - +## - 2 Use selectivity of all range predicates supported by indexes. +## - +## - 3 Use selectivity of all range predicates estimated without histogram. +## - +## - 4 Use selectivity of all range predicates estimated with histogram. +## - +## - 5 Additionally use selectivity of certain non-range predicates calculated +## - on record sample. +## - +## - Default Value: 4 (>= MariaDB 10.4.1), 1 (<= MariaDB 10.4.0) +## - +#optimizer_use_condition_selectivity = 1 + + +# This group is only read by MariaDB-10.3 servers. +# If you use the same .cnf file for MariaDB of different versions, +# use this group for options that older servers don't understand +[mariadb-10.3] + + +[mariadb-10.5] + + +[mariadb-10.11] + + +[mysqldump] +quick +max-allowed-packet = 512M +default-character-set = utf8mb4 + + +#[mysql] +#no-auto-rehash +## Remove the next comment character if you are not familiar with SQL +##safe-updates +#local-infile = 1 + + +[myisamchk] +key_buffer_size = 256M +sort_buffer_size = 256M +read_buffer = 2M +write_buffer = 2M + + +## - ft_min_word_len +## - +## - Die minimale Länge des Wortes, das in einem FULLTEXT-Index enthalten sein darf. +## - +## - Notice! +## - if you set +## - [mysqld] +## - ft_min_word_len=3 +## - +## - you should also set +## - [myisamchk] +## - ft_min_word_len=3 +## - +## - Vorgabewert ist 4 +## - +#ft_min_word_len = 3 + + +[mysqlhotcopy] +interactive-timeout + + +## - sql_mode +## - +## - Since Version 8.0.11 NO_AUTO_CREATE_USER is no longer available +## - +## - For now, we will use the default value, it seems to be ok. +## - +#sql-mode = "ONLY_FULL_GROUP_BY,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" + diff --git a/Example/my.cnf.VERY-HUGE.MariaDB-10.11 b/Example/my.cnf.VERY-HUGE.MariaDB-10.11 index e65e038..7e97f8c 100644 --- a/Example/my.cnf.VERY-HUGE.MariaDB-10.11 +++ b/Example/my.cnf.VERY-HUGE.MariaDB-10.11 @@ -36,6 +36,7 @@ port = 3306 socket = /run/mysqld/mysqld.sock #datadir = /data/mysql + ## - performance_schema ## - ## - The Performance Schema is a very useful and highly under-utilised tool for @@ -54,13 +55,13 @@ performance-schema = ON ## - character-set-server ## - -## - The servers default character set. If you set this variable, you should also -## - set collation_server to specify the collation for the character set. +## - The servers default character set. If you set this variable, you should also +## - set collation_server to specify the collation for the character set. ## - ## - See also: https://dev.mysql.com/doc/refman/8.0/en/charset-configuration.html ## - ## - The default depend on cmake options: -## - +## - ## - cmake . \ ## - ... ## - -DDEFAULT_CHARSET=latin1 \ @@ -71,7 +72,8 @@ character-set-server = utf8mb4 ## - collation-server ## - -## - The server's default collation. See Section 10.14, “Character Set Configuration”. +## - The server's default collation. See Section 10.14, “Character Set Configuration”. +## - #collation-server = utf8_general_ci collation-server = utf8mb4_general_ci @@ -127,28 +129,27 @@ collation-server = utf8mb4_general_ci ## - tls_version=TLSv1.2,TLSv1.3 - ## - secure-file-priv ## - ## - This variable is used to limit the effect of data import and export operations, ## - such as those performed by the LOAD DATA and SELECT ... INTO OUTFILE statements -## - and the LOAD_FILE() function. These operations are permitted only to users who +## - and the LOAD_FILE() function. These operations are permitted only to users who ## - have the FILE privilege. ## - ## - i.e.: GRANT FILE on *.* to piwik@localhost ## - ## - secure_file_priv may be set as follows: ## - -## - - If empty, the variable has no effect. (That means no restrictions). +## - - If empty, the variable has no effect. (That means no restrictions). ## - This is not a secure setting. -## - - If set to the name of a directory, the server limits import and export -## - operations to work only with files in that directory. The directory +## - - If set to the name of a directory, the server limits import and export +## - operations to work only with files in that directory. The directory ## - must exist; the server will not create it. -## - - If set to NULL, the server disables import and export operations. -## - This value is permitted as of MySQL 5.7.6. +## - - If set to NULL, the server disables import and export operations. +## - This value is permitted as of MySQL 5.7.6. ## - ## - Since MySQL v 5.7.16 the default 'secure_file_priv' value has changed -## - +## - ## - NULL (>= MySQL 5.7.16), empty (< MySQL 5.7.16) ## - ## - We use empty ("") @@ -164,8 +165,8 @@ secure-file-priv = "" ## - local-infile ## - -## - This variable controls server-side LOCAL capability for LOAD DATA statements. -## - Depending on the local_infile setting, the server refuses or permits local data +## - This variable controls server-side LOCAL capability for LOAD DATA statements. +## - Depending on the local_infile setting, the server refuses or permits local data ## - loading by clients that have LOCAL enabled on the client side. ## - ## - You can check your 'local-infile' setting on mysql prompt: @@ -203,11 +204,11 @@ secure-file-priv = "" ## - ## - Affects only MyISAM table access. ## - -## - This is OFF if mysqld uses external locking (system locking), +## - This is OFF if mysqld uses external locking (system locking), ## - ON if external locking is disabled. ## - ## - Default: ON -## - +## - skip-external-locking = On @@ -216,7 +217,7 @@ skip-external-locking = On # All interaction with mysqld must be made via Unix sockets or named pipes. # Note that using this option without enabling named pipes on Windows # (via the "enable-named-pipe" option) will render mysqld useless! -# +# #skip-networking @@ -236,6 +237,7 @@ bind-address = 127.0.0.1 # but will not function as a master if omitted server-id = 1 + # Replication Slave (comment out master section to use this) # # To configure this host as a replication slave, you can choose between @@ -291,11 +293,11 @@ server-id = 1 # binary logging - not required for slaves, but recommended #log-bin=mysql-bin # -# binary logging format - mixed recommended +# binary logging format - mixed recommended #binlog_format=mixed # Point the following paths to different dedicated disks -#tmpdir = /tmp/ +#tmpdir = /tmp/ #log-update = /path-to-dedicated-directory/hostname @@ -314,14 +316,14 @@ max-connections = 250 ## - ## - This variable was added in MySQL 5.6.6 ## - -## - In MySQL, the TIMESTAMP data type differs in nonstandard ways +## - In MySQL, the TIMESTAMP data type differs in nonstandard ways ## - from other data types. See MySQL Dokumentation. ## - ## - [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. ## - Please use --explicit_defaults_for_timestamp server option (see ## - documentation for more details). ## - -## - As indicated by the warning, to turn off the nonstandard behaviors, +## - As indicated by the warning, to turn off the nonstandard behaviors, ## - enable the new . ## - explicit-defaults-for-timestamp = TRUE @@ -343,8 +345,8 @@ explicit-defaults-for-timestamp = TRUE ## - low-priority-updates ## - -## - Give table-modifying operations (INSERT, REPLACE, DELETE, -## - UPDATE) lower priority than selects. +## - Give table-modifying operations (INSERT, REPLACE, DELETE, +## - UPDATE) lower priority than selects. ## - ## - low-priority-updates = 1 @@ -352,20 +354,21 @@ low-priority-updates = 1 ## - concurrent_insert ## - -## - If activated (1 or AUTO, the default), MySQL permits INSERT -## - and SELECT statements to run concurrently for MyISAM tables +## - If activated (1 or AUTO, the default), MySQL permits INSERT +## - and SELECT statements to run concurrently for MyISAM tables ## - that have no free blocks in the middle of the data file. ## - -## - If set to 2 or ALWAYS, MySQL enables concurrent inserts for -## - all MyISAM tables, even those that have holes. For a table with -## - a hole, new rows are inserted at the end of the table if it is -## - in use by another thread. Otherwise, MySQL acquires a normal +## - If set to 2 or ALWAYS, MySQL enables concurrent inserts for +## - all MyISAM tables, even those that have holes. For a table with +## - a hole, new rows are inserted at the end of the table if it is +## - in use by another thread. Otherwise, MySQL acquires a normal ## - write lock and inserts the row into the hole. ## - concurrent-insert = 2 ## - open-files-limit +## - innodb_open_files ## - ## - put the following lines into /etc/security/limits.conf ## - @@ -383,43 +386,55 @@ innodb-open-files = 1048576 ## - innodb_file_per_table ## - -## - When innodb_file_per_table is enabled (the default in 5.6.6 and higher), -## - InnoDB stores the data and indexes for each newly created table in a +## - When innodb_file_per_table is enabled (the default in 5.6.6 and higher), +## - InnoDB stores the data and indexes for each newly created table in a ## - separate .ibd file, rather than in the system tablespace. ## - innodb-file-per-table = On ## - innodb_data_home_dir -## - +## - ## - Default: MySQL data directory ## - #innodb-data-home_dir = /data/mysql +## - innodb_data_file_path +## - +## - Example: +## - innodb-data-file-path = ibdata1:2000M;ibdata2:10M:autoextend +## - +## - Default (MariaDB: ibdata1:12M:autoextend) +## - #innodb-data-file-path = ibdata1:2000M;ibdata2:10M:autoextend ## - innodb_log_group_home_dir ## - -## - The directory path to the InnoDB redo log files, whose number +## - The directory path to the InnoDB redo log files, whose number ## - is specified by innodb_log_files_in_group. ## - -## - If you do not specify any InnoDB log variables, the default is -## - to create two files named ib_logfile0 and ib_logfile1 in the MySQL -## - data directory. Their size is given by the size of the -## - innodb_log_file_size system variable. +## - If you do not specify any InnoDB log variables, the default is +## - to create two files named ib_logfile0 and ib_logfile1 in the MySQL +## - data directory. Their size is given by the size of the +## - innodb_log_file_size system variable. +## - +## - Example: +## - innodb-log-group-home-dir = /var/lib/mysql/ +## - +## - Default (MariaDB: ./) ## - #innodb-log-group-home-dir = /var/lib/mysql/ ## - innodb-buffer-pool-size ## - -## - The size in bytes of the buffer pool, the memory area where InnoDB +## - The size in bytes of the buffer pool, the memory area where InnoDB ## - caches table and index data. ## - ## - You can set .._buffer_pool_size up to 50 - 80 % ## - of RAM but beware of setting memory usage too high ## - ## - Note: -## - When the size of the buffer pool is greater than 1GB, setting -## - innodb_buffer_pool_instances to a value greater than 1 can improve +## - When the size of the buffer pool is greater than 1GB, setting +## - innodb_buffer_pool_instances to a value greater than 1 can improve ## - the scalability on a busy server. ## - ## - default: 134217728 (128M) @@ -431,7 +446,7 @@ innodb_buffer_pool_size = 4G ## - innodb_additional_mem_pool_size ## - -## - The size in bytes of a memory pool InnoDB uses to store data dictionary +## - The size in bytes of a memory pool InnoDB uses to store data dictionary ## - information and other internal data structures. ## - ## - Default: 8388608 (8M) @@ -448,11 +463,11 @@ innodb_buffer_pool_size = 4G ## - innodb_buffer_pool_instances ## - -## - The number of regions that the InnoDB buffer pool is divided into. +## - The number of regions that the InnoDB buffer pool is divided into. ## - ## - Note: -## - For systems with buffer pools in the multi-gigabyte range, dividing -## - the buffer pool into separate instances can improve concurrency, by +## - For systems with buffer pools in the multi-gigabyte range, dividing +## - the buffer pool into separate instances can improve concurrency, by ## - reducing contention as different threads read and write to cached pages. ## - ## - Default: 1 @@ -465,6 +480,7 @@ innodb_buffer_pool_size = 4G ## - The size in bytes of each log file in a log group. ## - ## - Default: 5242880 (5M) +## - Default: MariaDB 100663296 (96M) ## - ## (Set .._log_file_size to 25 % of buffer pool size) ## - @@ -474,7 +490,7 @@ innodb_log_file_size = 750M ## - innodb_log_buffer_size ## - -## - The size in bytes of the buffer that InnoDB uses to write to the +## - The size in bytes of the buffer that InnoDB uses to write to the ## - log files on disk. ## - ## - Default: 8388608 (8M) @@ -486,11 +502,11 @@ innodb_log_buffer_size = 512M ## - innodb_flush_log_at_trx_commit ## - -## - Controls the balance between strict ACID compliance for commit -## - operations, and higher performance that is possible when -## - commit-related I/O operations are rearranged and done in batches. -## - You can achieve better performance by changing the default value, -## - but then you can lose up to one second worth of transactions in a crash. +## - Controls the balance between strict ACID compliance for commit +## - operations, and higher performance that is possible when +## - commit-related I/O operations are rearranged and done in batches. +## - You can achieve better performance by changing the default value, +## - but then you can lose up to one second worth of transactions in a crash. ## - ## - In case of extrem slowly restores set ## - @@ -498,7 +514,7 @@ innodb_log_buffer_size = 512M ## - innodb_log_file_size = 256M ## - ## - Also try to add (befor DROP/CREATE/INSET Statements) to the dumpfile: -## - +## - ## - ... ## - SET FOREIGN_KEY_CHECKS=0; ## - SET unique_checks=0; @@ -513,7 +529,6 @@ innodb_log_buffer_size = 512M #innodb-flush-log-at-trx-commit = 2 #innodb-flush-log-at-trx-commit = 0 - ## - innodb_ft_cache_size ## - ## - InnoDB Fulltext search cache size in bytes. @@ -525,10 +540,9 @@ innodb_log_buffer_size = 512M ## - innodb_ft_cache_size = 24M - ## - innodb_lock_wait_timeout ## - -## - The length of time in seconds an InnoDB transaction waits for a row +## - The length of time in seconds an InnoDB transaction waits for a row ## - lock before giving up. ## - ## - Default: 50 @@ -541,8 +555,8 @@ innodb_ft_cache_size = 24M ## - sort_buffer_size ## - -## - Each session that needs to do a sort allocates a buffer of this size. -## - sort_buffer_size is not specific to any storage engine and applies +## - Each session that needs to do a sort allocates a buffer of this size. +## - sort_buffer_size is not specific to any storage engine and applies ## - in a general manner for optimization. ## - ## - Default: 2097152 (2M) @@ -555,51 +569,54 @@ sort-buffer-size = 64M #_ - key_buffer_size ## - -## - key_buffer_size is a MyISAM parameter +## - key_buffer_size is a MyISAM parameter ## - -## - Index blocks for MyISAM tables are buffered and are shared by all threads. -## - key_buffer_size is the size of the buffer used for index blocks. The key +## - Index blocks for MyISAM tables are buffered and are shared by all threads. +## - key_buffer_size is the size of the buffer used for index blocks. The key ## - buffer is also known as the key cache. ## - ## - Default: 8388608 (8M) +## - Default MariaDB: 134217728 (128M) ## - +#key-buffer-size = 64M #key-buffer-size = 384M key-buffer-size = 512M ## - read_buffer_size -## - -## - Each thread that does a sequential scan for a MyISAM table allocates -## - a buffer of this size (in bytes) for each table it scans. If you do +## - +## - Each thread that does a sequential scan for a MyISAM table allocates +## - a buffer of this size (in bytes) for each table it scans. If you do ## - many sequential scans, you might want to increase this value. ## - ## - Default: 131072 (128K) ## - #read-buffer-size = 2M #read-buffer-size = 16M -#read-buffer-size = 24M read-buffer-size = 32M ## - read_rnd_buffer_size ## - -## - This variable is used for reads from MyISAM tables, and, for any +## - This variable is used for reads from MyISAM tables, and, for any ## - storage engine, for Multi-Range Read optimization. ## - ## - Default: 262144 (256K) ## - #read-rnd-buffer-size = 8M +#read-rnd-buffer-size = 16M read-rnd-buffer-size = 32M ## - myisam_sort_buffer_size ## - -## - The size of the buffer that is allocated when sorting MyISAM indexes -## - during a REPAIR TABLE or when creating indexes with CREATE INDEX or -## - ALTER TABLE. +## - The size of the buffer that is allocated when sorting MyISAM indexes +## - during a REPAIR TABLE or when creating indexes with CREATE INDEX or +## - ALTER TABLE. ## - ## - Default: 8388608 (8M) ## - Default MariaDB: 134217728 (128M) ## - +#myisam-sort-buffer-size = 32M #myisam-sort-buffer-size = 64M myisam-sort-buffer-size = 256M #myisam-sort-buffer-size = 384M @@ -608,10 +625,11 @@ myisam-sort-buffer-size = 256M ## - max_allowed_packet ## - -## - The maximum size of one packet or any generated/intermediate string, or -## - any parameter sent by the mysql_stmt_send_long_data() C API function. -## +## - The maximum size of one packet or any generated/intermediate string, or +## - any parameter sent by the mysql_stmt_send_long_data() C API function. +## ## - Default: 4MB (MySQL 5.6.6), 1MB before that. +## - Default MariaDB: 16777216 (16M) ## - #max-allowed-packet = 4M #max-allowed-packet = 32M @@ -620,32 +638,31 @@ max-allowed-packet = 512M ## - table_open_cache ## - -## - The number of open tables for all threads. Increasing this value +## - The number of open tables for all threads. Increasing this value ## - increases the number of file descriptors that mysqld requires. ## - -## - You can check whether you need to increase the table cache by checking -## - the Opened_tables status variable. If the value of Opened_tables is large -## - and you do not use FLUSH TABLES often (which just forces all tables to be -## - closed and reopened), then you should increase the value of the +## - You can check whether you need to increase the table cache by checking +## - the Opened_tables status variable. If the value of Opened_tables is large +## - and you do not use FLUSH TABLES often (which just forces all tables to be +## - closed and reopened), then you should increase the value of the ## - table_open_cache variable. ## - ## - Default MAriaDB: 2000 ## - #table-open-cache = 512 +#table_open_cache = 2048 table_open_cache = 8192 ## - table_definition_cache ## - -## - The number of table definitions (from .frm files) that can be stored +## - The number of table definitions (from .frm files) that can be stored ## - in the definition cache. ## - ## - Default: (400 + (table_open_cache / 2) since 5.6.8, 400 before ## - Defaiult MariaDB: 400 ## - #table-definition-cache = 1680 -#table-definition-cache = 1936 -#table-definition-cache = 3472 -#table-definition-cache = 449 +#table-definition-cache = 3072 table_definition_cache = 5120 ## - max_connect_errors @@ -654,28 +671,43 @@ table_definition_cache = 5120 ## - max-connect-errors = 999999 +## - thread_concurrency +## - +## - NOTE: +## - This variable is specific to Solaris 8 and earlier systems. +## - +## - This variable is deprecated as of MySQL 5.6.1 and is removed in MySQL 5.7. +## - You should remove this from MySQL configuration files whenever you see it +## - unless they are for Solaris 8 or earlier +## - +## - (Try number of CPU's*2 for thread_concurrency) +## - +#thread-concurrency = 16 + ## - thread_cache_size ## - -## - How many threads the server should cache for reuse. When a client -## - disconnects, the client's threads are put in the cache if there are +## - How many threads the server should cache for reuse. When a client +## - disconnects, the client's threads are put in the cache if there are ## - fewer than thread_cache_size threads there. ## - ## - Default: 8 + (max_connections / 100) (5.6.8) , 0 (before) ## - Default MariaDB: 151 ## - #thread-cache-size = 8 +#thread_cache_size = 16 +#thread_cache_size = 32 thread_cache_size = 300 ## - thread_stack ## - -## - The stack size for each thread. Many of the limits detected by +## - The stack size for each thread. Many of the limits detected by ## - the crash-me test are dependent on this value. ## - -## - The default of 192KB (256KB for 64-bit systems) is large enough -## - for normal operation. If the thread stack size is too small, it -## - limits the complexity of the SQL statements that the server can handle, -## - the recursion depth of stored procedures, and other memory-consuming -## - actions. +## - The default of 192KB (256KB for 64-bit systems) is large enough +## - for normal operation. If the thread stack size is too small, it +## - limits the complexity of the SQL statements that the server can handle, +## - the recursion depth of stored procedures, and other memory-consuming +## - actions. ## - ## - Default: 262144 (256K) ## - Default MariaDB: 299008 (292K) @@ -709,34 +741,38 @@ thread_cache_size = 300 ## - if you set ## - [mysqld] ## - ft_min_word_len=3 -## - +## - ## - you should also set ## - [myisamchk] ## - ft_min_word_len=3 -## - +## - ## - ## - Vorgabewert ist 4 #ft-min-word-len = 3 ## - ft_stopword_file ## - -## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird. -## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht -## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie -## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den +## - Datei, aus der die Liste der Stoppwörter für die Volltextsuche ausgelesen wird. +## - Es werden alle Wörter aus der Datei verwendet; Kommentare hingegen werden nicht +## - berücksichtigt. Standardmäßig wird eine eingebaute Liste mit Stoppwörtern (wie +## - in der Datei myisam/ft_static.c definiert) verwendet. Wird diesee Variable auf den ## - Leer-String gesetzt (''), wird die Ausfilterung von Stoppwörtern deaktiviert. ## - -## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst, +## - Hinweis: Wird diese Variable geändern oder den Inhalt der Stoppwortdatei selbst, ## - müssen die FULLTEXT-Indizes neu erstellt werden (REPAIR TABLE tbl_name QUICK. ). ## - +## - Example: +## - ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt +## - ft-stopword-file = /etc/mysql/stopwords_utf8_iso8859-15.txt +## - +## - Default: (built-in) +## - #ft-stopword-file = /usr/local/mysql/stopwords_utf8_iso8859-15.txt ## -------------- ## - log files -## - Query Log -## - ## - general_log_file ## - general_log ## - @@ -749,15 +785,113 @@ thread_cache_size = 300 general_log_file = /var/log/mysql/mysql.log general_log = OFF - ## - log-error ## - -## - Log errors and startup messages to this file. If you omit the file -## - name, MySQL uses host_name.err. If the file name has no extension, -## - the server adds an extension of .err. +## - When running under systemd, error logging goes via stdout/stderr to journald +## - and when running legacy init error logging goes to syslog due to +## - /etc/mysql/conf.d/mariadb.conf.d/50-mysqld_safe.cnf +## - Enable this if you want to have error logging into a separate file ## - log-error = /var/log/mysql/mysql.err +## - log files +## -------------- + + +## ------------- +## - query cache + +## - query_cache_type +## - +## - 0 : verhindert das Speichern von Abfragen im und +## - das Abrufen aus dem Cache +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. +## - +## - Removed since MySQL Version 8.0.3 +## - +## - But present at MariaDB +## - +## - Default MariaDB: OFF +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +query_cache_type = 0 + + +## - query_cache_limit +## - +## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im +## - Cache gespeichert werden können. +## - +## - Vorgeabewert ist 1Mbyte +## - +## - But present at MariaD +## - +## - Removed since MySQL Version 8.0.3 +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +#query-cache-limit = 4M +#query_cache_limit = 8M +#query_cache_limit = 128M + + +## - query_cache_min_res_unit +## - +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. +## - +## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html +## - +## - Vorgabewert ist 4Kbyte +## - +## - Removed since MySQL Version 8.0.3 +## - +## - But present at MariaDB +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +#query-cache-min-res-unit = 8K + + +## - query_cache_size +## - +## - Die Größe des Abfrage-Caches. +## - +## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. +## - +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. +## - +## - Removed since MySQL Version 8.0.3 +## - +## - But present at MariaDB +## - +## - Default MariaDB: 1048576 (1M) +## - +## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' +## - +#query-cache-size = 0 +#query_cache_size = 32M +#query-cache-size = 128M +#query_cache_size = 1024M + +## - query cache +## ------------- + ## -------------- ## - slow queries @@ -775,11 +909,11 @@ slow-query-log = On ## - long_query_time ## - ## - Wenn eine Abfrage länger dauert als durch diese Variable (in Sekunden) angegeben, -## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option -## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen -## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h. -## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert -## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen. +## - erhöht der Server die Statusvariable Slow_queries entsprechend. Wird die Option +## - --log-slow-queries verwendet, wird die Abfrage in der Logdatei für langsame Abfragen +## - protokolliert. Dieser Wert wird als Echtzeit (nicht als Prozessorzeit) gemessen, d. h. +## - eine Abfrage, die bei einem System mit geringer Belastung den Schwellwert +## - unterschreitet, kann bei einem stark belasteten System bereits darüber liegen. ## - Der Mindestwert ist 1. ## - ## - Vorgabewert ist 10 @@ -791,7 +925,7 @@ long-query-time = 5 ## - slow_query_log_file ## - ## - Name der Logdatei, in die langsame Abfragen gespeichert werden. -## - +## - ## - Vorgabewert ist -slow.log ## - slow-query-log-file = /var/log/mysql/mysql-slow.log @@ -810,115 +944,24 @@ log-queries-not-using-indexes = 0 ## - slow queries ## -------------- - -## ------------- -## - query cache - - -## - query_cache_type -## - -## - 0 : verhindert das Speichern von Abfragen im und -## - das Abrufen aus dem Cache -## - 1 : gestattet das Speichern von Abfragen im Cache. -## - Ausgenommen sind Anweisungen, die mit -## - SELECT SQL_NO_CACHE beginnen. -## - 2 : speichert nur diejenigen Anweisungen im Cache, -## - die mit SELECT SQL_CACHE beginnen. -## - -## - Removed since MySQL Version 8.0.3 -## - -## - But present at MariaDB -## - -## - Default MariaDB: OFF -## - -## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' -## - -query_cache_type = 0 - - -## - query_cache_limit -## - -## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im -## - Cache gespeichert werden können. -## - -## - -## - Vorgeabewert ist 1Mbyte -## - -## - Removed since MySQL Version 8.0.3 -## - -## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' -## - -#query-cache-limit = 4M -#query_cache_limit = 8M -#query_cache_limit = 128M - - -## - query_cache_min_res_unit -## - -## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück -## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser -## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste -## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) -## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer -## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit -## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte -## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass -## - unbenutzter Speicher freigegeben wird. -## - -## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html -## - -## - -## - Vorgabewert ist 4Kbyte -## - -## - Removed since MySQL Version 8.0.3 -## - -## - But present at MariaDB -## - -## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' -## - -#query-cache-min-res-unit = 8K - - -## - query_cache_size -## - -## - Die Größe des Abfrage-Caches. -## - -## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, -## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine -## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) -## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. -## - -## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. -## - -## - -## - Removed since MySQL Version 8.0.3 -## - -## - For MariaDB see section '[mariadb]' or '[mariadb-10.x]' -## - -#query_cache_size = 32M -#query-cache-size = 128M -#query_cache_size = 1024M - -## - query cache -## ------------- - ## - join_buffer_size ## - -## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden -## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die -## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen. -## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen -## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für -## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt. -## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet +## - Die Größe des Puffers, der für Joins benutzt wird, die keine Indizes verwenden +## - und deswegen vollständige Tabellenscans durchführen. Normalerweise besteht die +## - beste Möglichkeit der Realisierung schneller Joins darin, Indizes hinzuzufügen. +## - Erhöhen Sie den Wert von join_buffer_size, um einen schnelleren vollständigen +## - Join zu implementieren, wenn das Hinzufügen von Indizes nicht möglich ist. Für +## - jeden vollständigen Join zwischen zwei Tabellen wird ein Join-Puffer hinzugefügt. +## - Für einen komplexen Join zwischen mehreren Tabellen, für den Indizes nicht verwendet ## - werden, sind unter Umständen mehrere Join-Puffer erforderlich. ## - -## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine +## - Wird die Option --log-slow-queries (ON) verwendet, werden Abfragen, die keine ## - Indizes verwenden, in das Log für langsame Abfragen geschrieben. ## - ## - Vorgabewert ist 128K ## - #join-buffer-size = 384K +#join-buffer-size = 512K join_buffer_size = 768K #join_buffer_size = 1024K #join_buffer_size = 1536K @@ -927,14 +970,15 @@ join_buffer_size = 768K ## - max_heap_table_size ## - -## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen. -## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen -## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene -## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt -## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden. +## - Diese Variable bestimmt die maximale Größe, auf die MEMORY-Tabellen anwachsen dürfen. +## - Der Wert der Variable wird zur Berechnung von MAX_ROWS-Werte für MEMORY-Tabellen +## - verwendet. Die Einstellung der Variable hat keine Auswirkungen auf bereits vorhandene +## - MEMORY-Tabellen, sofern diese nicht mit einer Anweisung wie CREATE TABLE neu erstellt +## - oder mit ALTER TABLE oder TRUNCATE TABLE modifiziert werden. ## - ## - Vorgabewert ist 16Mbyte ## - +#max-heap-table-size = 48M #max-heap-table-size = 96M #max_heap_table_size = 128M #max_heap_table_size = 768M @@ -944,17 +988,18 @@ max_heap_table_size = 2048M ## - tmp_table_size ## - -## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL -## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um. +## - Überschreitet eine temporäre Tabelle im Arbeitsspeicher diese Größe, wandelt MySQL +## - sie automatisch in eine MyISAM-Tabelle auf der Festplatte um. ## - -## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher +## - Werden viele erweiterte GROUP-BY-Anfragen ausgeführt (und ist genügend Speicher ## - vorhanden), so sollte diese Variable erhöht werden. -## +## ## - Default: 16777216 (16M) ## - -## - Note: +## - Note: ## - Effective in-memory tmp_table_size is limited to max_heap_table_size. ## - +#tmp-table-size = 48M #tmp-table-size = 96M #tmp_table_size = 768M tmp_table_size = 2048M @@ -980,7 +1025,7 @@ tmp_table_size = 2048M #optimizer_switch = '' -## - angepasste Einstellungen +## - angepasste Einstellungen ## ------------------------------------------ @@ -991,20 +1036,20 @@ tmp_table_size = 2048M ## - innodb_purge_threads ## - -## - Number of background threads dedicated to InnoDB purge operations. The range +## - Number of background threads dedicated to InnoDB purge operations. The range ## - is 1 to 32. At least one background thread is always used from MariaDB 10.0. ## - -## - The default has been increased from 1 to 4 in MariaDB 10.2.2. Setting to a -## - value greater than 1 creates that many separate purge threads. This can improve -## - efficiency in some cases, such as when performing DML operations on many tables. -## - In MariaDB 5.5, the options are 0 and 1. If set to 0, the default, purging is -## - done with the primary thread. If set to 1, purging is done on a separate thread, +## - The default has been increased from 1 to 4 in MariaDB 10.2.2. Setting to a +## - value greater than 1 creates that many separate purge threads. This can improve +## - efficiency in some cases, such as when performing DML operations on many tables. +## - In MariaDB 5.5, the options are 0 and 1. If set to 0, the default, purging is +## - done with the primary thread. If set to 1, purging is done on a separate thread, ## - which could reduce contention. See also innodb_purge_batch_size. ## - ## - Default Value: ## - ## - 4 (>= MariaDB 10.2.2) -## - 1 (>=MariaDB 10.0 to <= MariaDB 10.2.1) +## - 1 (>=MariaDB 10.0 to <= MariaDB 10.2.1) #innodb_purge_threads = 4 @@ -1013,13 +1058,13 @@ tmp_table_size = 2048M ## - query_cache_type ## - -## - 0 : verhindert das Speichern von Abfragen im und +## - 0 : verhindert das Speichern von Abfragen im und ## - das Abrufen aus dem Cache -## - 1 : gestattet das Speichern von Abfragen im Cache. -## - Ausgenommen sind Anweisungen, die mit -## - SELECT SQL_NO_CACHE beginnen. -## - 2 : speichert nur diejenigen Anweisungen im Cache, -## - die mit SELECT SQL_CACHE beginnen. +## - 1 : gestattet das Speichern von Abfragen im Cache. +## - Ausgenommen sind Anweisungen, die mit +## - SELECT SQL_NO_CACHE beginnen. +## - 2 : speichert nur diejenigen Anweisungen im Cache, +## - die mit SELECT SQL_CACHE beginnen. ## - ## - Removed since MySQL Version 8.0.3 ## - @@ -1032,7 +1077,7 @@ query_cache_type = 0 ## - ## - Gibt die maximale Größe einzelner Abfrageergebnisse an, die im ## - Cache gespeichert werden können. -## - +## - ## - Vorgeabewert ist 1Mbyte ## - ## - @@ -1040,20 +1085,21 @@ query_cache_type = 0 ## - #query-cache-limit = 4M #query_cache_limit = 8M +#query_cache_limit = 64M query_cache_limit = 128M ## - query_cache_min_res_unit ## - -## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück -## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser -## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste +## - Die im Abfrage-Cache abgelegten Ergebnisse, werden nicht am Stück +## - verwaltet. Der Abfrage-Cache reserviert Blöcke zur Speicherung dieser +## - Daten nach Bedarf, d. h. wenn ein Block voll ist, wird der nächste ## - zugewiesen. Da der Speicherreservierungsvorgang (in zeitlicher Hinsicht) -## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer -## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit -## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte -## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass -## - unbenutzter Speicher freigegeben wird. +## - aufwändig ist, reserviert der Abfrage-Cache die Blöcke mit einer +## - Mindestgröße, die durch die Systemvariable query_cache_min_res_unit +## - festgelegt wird. Wird eine Abfrage ausgeführt, dann wird der letzte +## - Ergebnisblock auf die tatsächliche Datengröße zugeschnitten, sodass +## - unbenutzter Speicher freigegeben wird. ## - ## - Siehe auch http://dev.mysql.com/doc/refman/5.1/de/query-cache-configuration.html ## - @@ -1070,12 +1116,11 @@ query-cache-min-res-unit = 8K ## - Die Größe des Abfrage-Caches. ## - ## - Wird query_cache_size auf einen Wert größer Null gesetzt, so ist zu beachten, -## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine -## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) +## - dass der Abfrage-Cache eine Mindestgröße von ca. 40 Kbyte benötigt, um seine +## - Strukturen zuzuweisen. (Der exakte Wert hängt von der Systemarchitektur ab.) ## - Wird der Wert zu niedrig angesetzt, wird eine Warnung ausgegeben. ## - -## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. -## - +## - Vorgabewert ist 0, d. h. der Abfrage-Cache ist vorgabeseitig deaktiviert. ## - ## - Removed since MySQL Version 8.0.3 ## - @@ -1134,10 +1179,17 @@ optimizer_use_condition_selectivity = 1 [mariadb-10.3] +[mariadb-10.5] + + +[mariadb-10.11] + [mysqldump] quick -max-allowed-packet = 512 +max-allowed-packet = 1024M +default-character-set = utf8mb4 + [mysql] no-auto-rehash @@ -1145,6 +1197,7 @@ no-auto-rehash #safe-updates local-infile = 1 + [myisamchk] key-buffer-size = 256M sort-buffer-size = 256M @@ -1152,9 +1205,6 @@ read-buffer = 2M write-buffer = 2M -## ------------------------------------------ -## - angepasste Einstellungen - ## - ft_min_word_len ## - ## - Die minimale Länge des Wortes, das in einem FULLTEXT-Index enthalten sein darf. @@ -1163,18 +1213,15 @@ write-buffer = 2M ## - if you set ## - [mysqld] ## - ft_min_word_len=3 -## - +## - ## - you should also set ## - [myisamchk] ## - ft_min_word_len=3 -## - +## - ## - ## - Vorgabewert ist 4 #ft-min-word-len = 3 -## - angepasste Einstellungen -## ------------------------------------------ - [mysqlhotcopy] interactive-timeout