Contents

  1. Compatibility options
    1. -a, --ansi
    2. --new
    3. --old
    4. --old-alter-table
    5. --old-mode
    6. --old-passwords
    7. --old-style-user-limits
    8. --safe-mode
    9. --skip-new
    10. Other Compatibility Options
  2. Replication and binary logging options
    1. --abort-slave-event-count
    2. --auto-increment-increment
    3. --auto-increment-offset
    4. --binlog-annotate-row-events
    5. --binlog-cache-size
    6. --binlog-checksum
    7. --binlog-commit-wait-count
    8. --binlog-commit-wait-usec
    9. --binlog-direct-non-transactional-updates
    10. --binlog-do-db
    11. --binlog-format
    12. --binlog-ignore-db
    13. --binlog-row-event-max-size
    14. --binlog-optimize-thread-scheduling
    15. --binlog-stmt-cache-size
    16. --default-master-connection
    17. --disconnect-slave-event-count
    18. --init-rpl-role
    19. --init-slave
    20. --log-basename
    21. --log-bin
    22. --log-bin-index
    23. --log-bin-trust-function-creators
    24. --log-bin-trust-routine-creators
    25. --log-slave-updates
    26. --master-host
    27. --master-info-file
    28. --master-password
    29. --master-port
    30. --master-retry-count
    31. --master-ssl
    32. --master-ssl-ca
    33. --master-ssl-capath
    34. --master-ssl-cert
    35. --master-ssl-cert
    36. --master-ssl-cipher
    37. --master-ssl-key
    38. --master-user
    39. --master-verify-checksum
    40. --max-binlog-cache-size
    41. --max-binlog-dump-events
    42. --max-binlog-size
    43. --max-binlog-stmt-cache-size
    44. --max-relay-log-size
    45. --relay-log
    46. --relay-log-index
    47. --relay-log-info-file
    48. Other replication and binary logging options
  3. Optimizer options
  4. Options when debugging mysqld
  5. Options for MyISAM
  6. Options for InnoDB
  7. Options for the Performance Schema
  8. Options for PBXT
    1. PBXT Cache Memory Variables
    2. PBXT Transaction Manager Variables
    3. PBXT Data Log Variables
    4. PBXT File Grow Variables
  9. Other Options
  10. Feedback Plugin
    1. feedback
    2. feedback_send_retry_wait
    3. feedback_send_timeout
    4. feedback_url
    5. feedback_user_info
  11. Default values

This page lists all of the options for mysqld, ordered by topic. For a full alphabetical list of all mysqld options, as well as server and status variables, see Full list of MariaDB options, system and status variables.

In many cases, the entry here is a summary, and links to the full description.

See mysqld startup options for which files and groups mysqld reads for it's default options.

Compatibility options

The following options have been added to MariaDB to make it more compliant with other MariaDB and MySQL versions:

-a, --ansi


--new

  • Description: Use new functionality that will exist in next version of MariaDB. This function exists to make it easier to prepare for an upgrade. For version 5.1 this functions enables the LIST and RANGE partitions functions for ndbcluster.

--old-style-user-limits

  • Description: Enable old-style user limits (before MySQL 5.0.3, user resources were counted per each user+host vs. per account).

--safe-mode

  • Description: Disable some potential unsafe optimizations. For 5.2, INSERT DELAYED is disabled, myisam_recover_options is set to DEFAULT (automatically recover crashed MyISAM files) and the query cache is disabled. For Aria tables, disable bulk insert optimization to enable one to use maria_read_log to recover tables even if tables are deleted (good for testing recovery).

--skip-new

  • Description: Disables --new in 5.2. In 5.1 used to disable some new potentially unsafe functions.

Other Compatibility Options

Replication and binary logging options

--abort-slave-event-count

  • Commandline: --abort-slave-event-count=#
  • Description: Option used by mysql-test for debugging and testing of replication.

--binlog-do-db

  • Commandline: --binlog-do-db=name
  • Description: Tells the master it should log updates for the specified database, and exclude all others not explicitly mentioned. See Using and Maintaining the Binary Log.

--binlog-ignore-db


--binlog-row-event-max-size

  • Commandline: --binlog-row-event-max-size=#
  • Description: The maximum size of a row-based binary log event in bytes. Rows will be grouped into events smaller than this size if possible. The value has to be a multiple of 256.

--disconnect-slave-event-count

  • Commandline: --disconnect-slave-event-count=#
  • Description: Option used by mysql-test for debugging and testing of replication.

--init-rpl-role

  • Commandline: --init-rpl-role=name
  • Description: Set the replication role.

--log-basename

  • Commandline: --log-basename=name
  • Description: Basename for all log files and the .pid file. This sets all log file names at once (in 'datadir') and is normally the only option you need for specifying log files. This is especially recommend to be set if you are using replication as it ensures that your log file names are not depending on your host name. Sets names for --log-bin, --log-bin-index, --relay-log, --relay-log-index, --general-log-file, --log-slow-query-log-file, --log-error-file, and --pid-file.
  • Introduced: MariaDB 5.2

--log-bin-index

  • Commandline: --log-bin-index=name
  • Description: File that holds the names for last binary log files.

--log-bin-trust-routine-creators


--master-host

  • Commandline: --master-host=name
  • Description: Master hostname or IP address for replication. If not set, the slave thread will not be started. Note that the setting of master-host will be ignored if there exists a valid master.info file.

--master-info-file

  • Commandline: --master-info-file=name
  • Description: The location and name of the file that remembers the master and where the I/O replication thread is in the master's binary logs.

--master-password

  • Commandline: --master-password=name
  • Description: The password the slave thread will authenticate with when connecting to the master. If not set, an empty password is assumed. The value in master.info will take precedence if it can be read.

--master-port

  • Commandline: --master-port=#
  • Description: The port the master is listening on. If not set, the compiled setting of MYSQL_PORT is assumed. If you have not tinkered with configure options, this should be 3306. The value in master.info will take precedence if it can be read.

--master-ssl

  • Commandline: --master-ssl
  • Description: Enable the slave to connect to the master using SSL.

--master-ssl-ca

  • Commandline: --master-ssl-ca[=name]
  • Description: Master SSL CA file. Only applies if you have enabled master-ssl.

--master-ssl-capath

  • Commandline: --master-ssl-capath[=name]
  • Description: Master SSL CA path. Only applies if you have enabled master-ssl.

--master-ssl-cert

  • Commandline: --master-ssl-cert[=name]
  • Description: Master SSL certificate file name. Only applies if you have enabled master-ssl.

--master-ssl-cert

  • Commandline: --master-ssl-cert[=name]
  • Description: Master SSL certificate file name. Only applies if you have enabled master-ssl.

--master-ssl-cipher

  • Commandline: --master-ssl-cipher[=name]
  • Description: Master SSL cipher. Only applies if you have enabled master-ssl.

--master-ssl-key

  • Commandline: --master-ssl-key[=name]
  • Description: Master SSL keyfile name. Only applies if you have enabled master-ssl.

--master-user

  • Commandline: --master-user=name
  • Description: The username the slave thread will use for authentication when connecting to the master. The user must have FILE privilege. If the master user is not set, user test is assumed. The value in master.info will take precedence if it can be read.

--max-binlog-dump-events

  • Commandline: --max-binlog-dump-events=#
  • Description: Option used by mysql-test for debugging and testing of replication.

OptionDescriptionIntroduced   
--relay-log-purge0 = do not purge relay logs. 1 = purge them as soon as they are no more needed.
--relay-log-recovery
--relay-log-space-limit=#Maximum space to use for all relay logs.
--replicate-annotate-row-eventsTells the slave to reproduce Annotate_rows events received from the master in its own binary log. This option is sensible only when used in tandem with the log-slave-updates option.MariaDB 5.3
--replicate-do-db=nameTells the slave thread to restrict replication to the specified database. To specify more than one database, use the directive multiple times, once for each database. Note that this will only work if you do not use cross-database queries such as UPDATE some_db.some_table SET foo='bar' while having selected a different or no database. If you need cross database updates to work, make sure you have 3.23.28 or later, and use replicate-wild-do-table=db_name.%.

As of MariaDB 5.5.22 this variable is dynamic.
--replicate-do-table=nameTells the slave thread to restrict replication to the specified table. To specify more than one table, use the directive multiple times, once for each table. This will work for cross-database updates, in contrast to replicate-do-db.

As of MariaDB 5.5.22 this variable is dynamic.
--replicate-events-marked-for-skipThis option tells the slave whether to replicate events that are marked with the @@skip_replication flag. See Selectively skipping replication of binlog events for details.MariaDB 5.5.21
--replicate-ignore-db=nameTells the slave thread to not replicate to the specified database. To specify more than one database to ignore, use the directive multiple times, once for each database. This option will not work if you use cross database updates. If you need cross database updates to work, make sure you have MySQL 3.23.28 or later, and use replicate-wild-ignore-table=db_name.%.

As of MariaDB 5.5.22 this variable is dynamic.
--replicate-ignore-table=nameTells the slave thread to not replicate to the specified table. To specify more than one table to ignore, use the directive multiple times, once for each table. This will work for cross-database updates, in contrast to replicate-ignore-db.

As of MariaDB 5.5.22 this variable is dynamic.
--replicate-rewrite-db=nameUpdates to a database with a different name than the original. Example: replicate-rewrite-db=master_db_name->slave_db_name.
--replicate-same-server-idIn replication, if set to 1, do not skip events having our server id. Default value is 0 (to break infinite loops in circular replication). Can't be set to 1 if log-slave-updates is used.
--replicate-wild-do-table=nameTells the slave thread to restrict replication to the tables that match the specified wildcard pattern. To specify more than one table, use the directive multiple times, once for each table. This will work for cross-database updates. Example: replicate-wild-do-table=foo%.bar% will replicate only updates to tables in all databases that start with foo and whose table names start with bar.

As of MariaDB 5.5.22 this variable is dynamic.
--replicate-wild-ignore-table=nameTells the slave thread to not replicate to the tables that match the given wildcard pattern. To specify more than one table to ignore, use the directive multiple times, once for each table. This will work for cross-database updates. Example: replicate-wild-ignore-table=foo%.bar% will not do updates to tables in databases that start with foo and whose table names start with bar.

As of MariaDB 5.5.22 this variable is dynamic.
--report-host=nameHostname or IP of the slave to be reported to the master during slave registration. Will appear in the output of SHOW SLAVE HOSTS. Leave unset if you do not want the slave to register itself with the master. Note that it is not sufficient for the master to simply read the IP of the slave from the socket once the slave connects. Due to NAT and other routing issues, that IP may not be valid for connecting to the slave from the master or other hosts.
--report-password=name
--report-port=#Port for connecting to slave reported to the master during slave registration. Set it only if the slave is listening on a non-default port or if you have a special tunnel from the master or other clients to the slave. If not sure, leave this option unset.
--report-user=name
--rpl-recovery-rank=# Unused.
--server-id=#Uniquely identifies the server instance in the community of replication partners.
--skip-replicationWhen this variable is set to true, events are logged into the binary log with the flag @@skip_replication set. Such events will not be replicated by slaves that run with --replicate-events-marked-for-skip set different from its default of REPLICATE. See Selectively skipping replication of binlog events for details.MariaDB 5.5.21
--slave-compressed-protocolUse compression on master/slave protocol.
--slave-ddl-exec-mode=nameModes for how replication of DDL events should be executed. Legal values are STRICT and IDEMPOTENT (default). In IDEMPOTENT mode, the slave will not stop for failed DDL operations that would not cause a difference between the master and the slave. In particular CREATE TABLE is treated as CREATE OR REPLACE TABLE and DROP TABLE is treated as DROP TABLE IF EXISTS.MariaDB 10.0.8
--slave-domain-parallel-threads=#MariaDB 10.0.9
--slave-exec-mode=nameModes for how replication events should be executed. Legal values are STRICT (default) and IDEMPOTENT. In IDEMPOTENT mode, replication will not stop for operations that are idempotent. In STRICT mode, replication will stop on any unexpected difference between the master and the slave.
--slave-load-tmpdir=nameThe location where the slave should put its temporary files when replicating a LOAD DATA INFILE command.
--slave-max-allowed-packetMariaDB 5.5.26
--slave-net-timeout=#Number of seconds to wait for more data from a master/slave connection before aborting the read.
--slave-parallel-max-queued=#MariaDB 10.0.5
--slave-parallel-threads=#MariaDB 10.0.5
--slave-skip-errors=nameTells the slave thread to continue replication when a query event returns an error from the provided list.
--slave-sql-verify-checksum=[0|1]MariaDB 5.3
--slave-transaction-retries=#Number of times the slave SQL thread will retry a transaction in case it failed with a deadlock or elapsed lock wait timeout, before giving up and stopping.
--slave-type-conversions=setMariaDB 5.5.3
--sporadic-binlog-dump-failOption used by mysql-test for debugging and testing of replication.
--sync-binlog=#Synchronously flush binary log to disk after every #th event. Use 0 (default) to disable synchronous flushing.
--sync-master-info=#
--sync-relay-log=#
--sync-relay-log-info=#
--sysdate-is-nowNon-default option to alias SYSDATE() to NOW() to make it safe for replication. Since 5.0, SYSDATE() has returned a `dynamic' value different for different invocations, even within the same statement.

Other replication and binary logging options

Optimizer options

OptionDescription
--big-tablesAllow big result sets by saving all temporary sets on file (solves most 'table full' errors).
--bulk-insert-buffer-size=# Size of tree cache used in bulk insert optimization. Note that this is a limit per thread.
--expensive-subquery-limit=#Number of rows to be examined for a query to be considered expensive. See the expensive_subquery_limit system variable.
--join-buffer-size=# The size of the buffer that is used for full joins.
--join-buffer-space-limit=#
--join-cache-level=#
--max-heap-table-size=# Don't allow creation of MEMORY tables larger than this.
--max-join-size=# Joins that are probably going to read more than max_join_size records return an error.
--max-seeks-for-key=#
--max-sort-length=# The number of bytes to use when sorting BLOB or TEXT values (only the first max_sort_length bytes of each value are used; the rest are ignored).
--mrr-buffer-size=# Size of buffer to use when using multi-range read with range access. See Multi Range Read optimization
--optimizer-prune-level[=#]Controls the heuristic(s) applied during query optimization to prune less-promising partial plans from the optimizer search space. Meaning: 0 - do not apply any heuristic, thus perform exhaustive search; 1 - prune plans based on number of retrieved rows.
--optimizer-search-depth[=#]Maximum depth of search performed by the query optimizer. Values larger than the number of relations in a query result in better query plans, but take longer to compile a query. Smaller values than the number of tables in a relation result in faster optimization, but may produce very bad query plans. If set to 0, the system will automatically pick a reasonable value; if set to MAX_TABLES+2, the optimizer will switch to the original find_best (used for testing/comparison).
--optimizer-selectivity-sampling-limit[=#]
--optimizer-switch=nameoptimizer_switch=option=val[,option=val...], where option={index_merge, index_merge_union, index_merge_sort_union, index_merge_intersection} and val={on, off, default}.
--optimizer-use-condition-selectivity=#
--query-alloc-block-size=# Allocation block size for extra blocks (after query_prealloc_size is exhausted) during query parsing and execution.
--query-prealloc-size=# Persistent buffer for query parsing and execution. This is allocated at connection start and freed on disconnect.
--range-alloc-block-size=# Allocation block size for storing ranges during optimization.
--read-buffer-size=# Each thread that does a sequential scan allocates a buffer of this size for each table it scans. If you do many sequential scans, you may want to increase this value.
--rowid-merge-buff-size=# Maximum size in bytes of the memory available to the Rowid-merge strategy. See Non-semi-join subquery optimizations for more information.
--record-buffer=# Alias for read_buffer_size. Removed in MariaDB 5.5
--table-cache=# Removed in MariaDB 5.1.3; use --table-open-cache instead.
--table-definition-cache=# The number of cached table definitions.
--table-open-cache=# The number of cached open tables.
--tmp-table-size=# If an internal in-memory temporary table exceeds this size, MariaDB will automatically convert it to an on-disk MyISAM/Aria table.
--use-stat-tables=mode

Options when debugging mysqld

OptionDescriptionIntroduced
--consoleWrite error output on screen; don't remove the console window on windows.
--core-fileWrite core on errors.
-#, --debug[=name]Use logging trough the DBUG library. Just using --debug will write a trace of what mysqld is doing to /tmp/mysqld.trace.
--debug-assert-if-crashed-tableDo an assert in handler::print_error() if we get a crashed table.
-debug-crc-break=# Call my_debug_put_break_here() if crc matches this number (for debug).
--debug-flushDefault debug log with flush after write.
--debug-no-thread-alarm=#
--debug-sync-timeout[=#]Enable the debug sync facility and optionally specify a default wait timeout in seconds. A zero value keeps the facility disabled.
--gdbSet up signals usable for debugging.
--sync-sys Enable/disable system sync calls. Syncs should only be turned off (--disable-sync-sys) when running tests or debugging!
--thread-alarmEnable/disable system thread alarm calls. Should only be turned off (--disable-thread-alarm) when running tests or debugging!MariaDB 5.3
--debug_binlog_fsync_sleep=# If not set to zero, sets the number of micro-seconds to sleep after running fsync() on the binary log to flush transactions to disk. This can thus be used to artificially increase the perceived cost of such an fsync().MariaDB 5.3

Options for MyISAM

OptionDescription
--concurrent-insert[=#]Use concurrent insert with MyISAM. Disable with --concurrent-insert=0.
--delay-key-write-for-all-tablesDon't flush key buffers between writes for any MyISAM table. (Deprecated option, use --delay-key-write=all instead.)
--delayed-insert-limit=# After inserting delayed_insert_limit rows, the INSERT DELAYED handler will check if there are any SELECT statements pending. If so, it allows these to execute before continuing.
--delayed-insert-timeout=# How long a INSERT DELAYED thread should wait for INSERT statements before terminating.
--delayed-queue-size=# What size queue (in rows) should be allocated for handling INSERT DELAYED. If the queue becomes full, any client that does INSERT DELAYED will wait until there is room in the queue again.
--external-lockingUse system (external) locking (disabled by default). With this option enabled you can run myisamchk to test (not repair) tables while the server is running. Disable with --skip-external-locking.
--keep-files-on-createDon't overwrite stale .MYD and .MYI even if no directory is specified.
--key-buffer-size=# The size of the buffer used for index blocks for MyISAM tables. Increase this to get better index handling (for all reads and multiple writes) to as much as you can afford; 1GB on a 4GB machine that mainly runs MySQL is quite common.
--key-cache-age-threshold=# This characterizes the number of hits a hot block has to be untouched until it is considered aged enough to be downgraded to a warm block. This specifies the percentage ratio of that number of hits to the total number of blocks in key cache.
--key-cache-block-size=# The default size of key cache blocks.
--key-cache-division-limit=# The minimum percentage of warm blocks in key cache.
--key-cache-segments=#
--log-isam[=name]Log all MyISAM changes to file.
--myisam-block-size=# Block size to be used for MyISAM index pages.
--myisam-data-pointer-size=# Default pointer size to be used for MyISAM tables.
--myisam-max-sort-file-size=# Don't use the fast sort index method to created index if the temporary file would get bigger than this.
--myisam-mmap-size=# Can be used to restrict the total memory used for memory mmaping of myisam files.
--myisam-recover[=name]Syntax: myisam-recover[=option[,option...]], where option can be DEFAULT, BACKUP, BACKUP_ALL (new in 5.1.51) FORCE or QUICK.
--myisam-repair-threads=# Specifies whether several threads should be used when repairing MyISAM tables. For values > 1, one thread is used per index. The value of 1 disables parallel repair.
--myisam-sort-buffer-size=# The buffer that is allocated when sorting the index when doing a REPAIR or when creating indexes with CREATE INDEX or ALTER TABLE.
--myisam-stats-method=nameSpecifies how MyISAM index statistics collection code should threat NULLs. Possible values of name are "nulls_unequal" (default behavior for 4.1/5.0), "nulls_equal" (emulate 4.0 behavior), and "nulls_ignored".
--myisam-use-mmapUse memory mapping for reading and writing MyISAM tables.

Options for InnoDB

OptionDefault ValueDescription
--innodbONThis variable controls whether or not to load the InnoDB storage engine. Possible Values are ON, OFF, or FORCE. If set to OFF, since InnoDB is the default storage engine, the server will not start unless another storage engine has been chosen with --default-storage-engine.
--innodb-adaptive-checkpointestimatereplaced by innodb_adaptive_flushing_method in 5.5
--innodb-adaptive-flushingFALSESet whether to use adaptive flushing to determine when to flush dirty buffer cache pages.
--innodb-adaptive-flushing-lwm10
--innodb_adaptive-flushing-methodestimate
--innodb-adaptive-hash-indexTRUEUsed to enable or disable InnoDB adaptive hash indexes.
--innodb-adaptive-hash-index-partitions1Number of partitions for use in adaptive searching.
--innodb-adaptive-max-sleep-delay150000
--innodb-additional-mem-pool-size8388608The size (in bytes) of the memory pool InnoDB uses to store internal data structures (including data dictionary information). Possible values are between 2097152 and 4294967295.
--innodb-api-bk-commit-interval5
--innodb-api-disable-rowlockOFF
--innodb-api-enable-binlogOFF
--innodb-api-enable-mdlOFF
--innodb-api-trx-level0
--innodb-auto-lru-dump0
--innodb-autoextend-increment8Increment size (in MB) for extending the size of an auto-extended shared tablespace file. Does not affect per-table tablespace files created if you use --innodb_file_per_table=1.
--innodb-autoinc-lock-mode1Sets the lock mode to use when generating auto-increment values. Possible values are 0 (traditional), 1 (consecutive), or 2 (interleaved).
--innodb_blocking-buffer-pool-restore0Whether to wait for the LRU dump to be completely restored on restart before reporting back to the server on successful startup.
--innodb-buffer-pool-dump-at-shutdownOFF
--innodb-buffer-pool-dump-nowOFF
--innodb-buffer-pool-filenameib_buffer_pool
--innodb-buffer-pool-instances1Number of instances into which the buffer pool is divided.
--innodb-buffer-pool-load-abortOFF
--innodb-buffer-pool-load-at-startupOFF
--innodb-buffer-pool-load-nowOFF
--innodb-buffer-pool-pagesON
--innodb-buffer-pool-pages-blobON
--innodb-buffer-pool-pages-indexON
--innodb-buffer-pool-populate0Whether to preallocate pages in the buffer pool on start.
--innodb-buffer-pool-restore-at-startup0Seconds between automatic buffer pool dumps.
--innodb-buffer-pool-shm-checksumTRUE
--innodb-buffer-pool-shm-key0
--innodb-buffer-pool-size134217728The size (in bytes) of the InnoDB buffer pool. Allowed values on 32-bit systems range from 1048576 to 232-1. On dedicated database servers this value can normally be safely set to 80% of physical memory, but may need to be reduced depending on your individual setup.
--innodb-change-buffer-max-size25
--innodb-change-bufferinginserts
--innodb-checkpoint-age-target0
--innodb-checksum-algorithminnodb
--innodb-checksumsTRUEWhether to ensure extra fault tolerance with checksums.
--innodb-cleaner-lsn-age-factorhigh_checkpoint
--innodb-cmpON
--innodb-cmp-per-index-enabledOFF
--innodb-cmp-resetON
--innodb-cmpmemON
--innodb-cmpmem-resetON
--innodb-commit-concurrency0Set the number of threads which can commit at the same time. '0' permits any number of transactions to commit at the same time.
--innodb-compression-failure-threshold-pct5
--innodb-compression-level6
--innodb-compression-pad-pct-max50
--innodb-concurrency-tickets500The number of free "tickets" a thread is given which it can use to enter and leave InnoDB without being subject to a concurrency check or queuing.
--innodb-corrupt-table-actionassertAction to perform when corruption is detected
--innodb-data-file-path(No default value)The path to individual data files.
--innodb-data-home-dir(No default value)The common part of the directory path to data files.
--innodb-dict-size-limit0
--innodb_disable_sort_file_cacheOFF
--innodb-doublewriteTRUE
--innodb-doublewrite-file(No default value)
--innodb-empty-free-list-algorithmbackoff
--innodb-enable-unsafe-group-commit0
--innodb-expand-import0
--innodb-extra-rsegments0Removed in XtraDB 5.5
--innodb-extra-undoslotsFALSE
--innodb-fast-checksumFALSE
--innodb-fast-recoveryFALSE
--innodb-fast-shutdown1Possible values are '0' (slow shutdown with a full purge and insert buffer merge before shutdown), '1' (fast shutdown without the purge and merge), or '2' (flush logs and exit hard, as if MariaDB had crashed). Only use innodb_fast_shutdown=2 in emergency or troubleshooting situations (e.g. if data is at risk of corruption and you need to shutdown as fast as possible).
--innodb-file-formatAntelopeThe file format to use for new InnoDB tables. Possible values are 'Antelope' or 'Barracuda'.
--innodb-file-format-checkON
--innodb-file-format_maxAntelope
--innodb-file-io-threads4
--innodb-file-per-tableFALSEIf disabled, InnoDB will create tables in the system tablespace. If enabled, InnoDB will create each new table with its own .ibd file.
--innodb-flush-log-at-trx-commit1Possible values are '0' (write the log buffer to the log file once per second and flush to disk but do nothing at a transaction commit), '1' (write the log buffer to the log file and flush to disk at each transaction commit), '2' (write the log buffer to the log file at each commit but flush to disk once per second) or '3' emulate MariaDB 5.5 group commit (3 syncs per group commit). Option '1' is required for full ACID compliance.
--innodb-flush-log-at-trx-commit-session3
--innodb-flush-method(No default value)Possible values are 'O_DSYNC', or 'O_DIRECT'. This variable is only useful on Linux and Unix. The flush method is always 'async_unbuffered' on Windows.
--innodb-flush-neighbor-pages1
--innodb-flush-neighbors1
--innodb-flushing-avg-loops30
--innodb-force-load-corrupted0Whether to permit loading corrupt tables
--innodb-force-recovery0Possible values are '0', '1', '2', '3', '4', '5', or '6'.
--innodb-foreground-preflushexponential_backoff
--innodb-ft-aux-table
--innodb-ft-cache-size8000000
--innodb-ft-enable-diag-print0
--innodb-ft-enable-stopword1
--innodb-ft-max-token-size84
--innodb-ft-min-token-size3
--innodb-ft-num-word-optimize2000
--innodb-ft-result-cache-limit2000000000
--innodb-ft-server-stopword-table(No default value)
--innodb-ft-sort-pll-degree2
--innodb-ft-total-cache-size640000000
--innodb-ft-user-stopword-table(No default value)
--innodb-ibuf-accel-rate100
--innodb-ibuf-active-contract1
--innodb-ibuf-max-size9223372036854775807
--innodb-import-table-from-xtrabackup0Whether to permit importing of .ibd files exported with XtraBackup
--innodb-index-statsON
--innodb-io-capacity200On 32-bit systems, possible values range from 100 to 232-1 (2**32-1). On 64-bit systems, possible values range from 100 to 264-1 (2**64-1). Set this value to the approximate number if I/O operations your system can perform per second.
--innodb-io-capacity-max200
--innodb-large-prefix0Whether to permit large index prefixes
--innodb-lazy-drop-table0
--innodb-lock-wait-timeout50The amount of time and InnoDB transaction will wait (in seconds) before it gives up. Possible values range from '1' to '1073741824'.
--innodb-lock-waitsON
--innodb-locking-fake-changes1
--innodb-locksON
--innodb-locks-unsafe-for-binlogFALSE
--innodb-log-arch-dir./
--innodb-log-arch-expire-sec0
--innodb-log-archive0
--innodb-log-block-size512
--innodb-log-buffer-size8388608The size (in bytes) of the buffer used for writing log files on disk. Possible values range from '262144' to '4294967295'.
--innodb-log-checksum-algorithminnodb
--innodb-log-compressed-pages1
--innodb-log-file-size5242880The size (in bytes) of each log file in a log group. Possible values range from '108576' to '4294967295'.
--innodb-log-files-in-group2The number of log files in the log group. Allowed values range from '2' to '100'.
--innodb-log-group-home-dir(No default value)Directory path to the InnoDB redo log files. The default (if no value is set) is to put the log files in the data directory.
--innodb-lru-scan-depth1024
--innodb-max-bitmap-file-size4096Limit in bytes of the changed page bitmap files.
--innodb-max-changed-pages1000000Limit to the number of changed page bitmap files.
--innodb-max-dirty-pages-pct75Possible values range from '0' to '99'. InnoDB will try to write pages from the buffer pool so that the percentage of dirty (unwritten) pages does not exceed this value.
--innodb-max-dirty-pages-pct-lwm0
--innodb-max-purge-lag0How to delay INSERT, UPDATE, and DELETE operations. '0' means "no delays".
--innodb_max_purge_lag_delay0
--innodb-merge-sort-block-size1048576Size in bytes of the block used for merge sorting in fast index creation.
--innodb-mirrored-log-groups1The number of identical copies of log groups to keep. Should be '1'.
--innodb-monitor-disable(No default value)
--innodb-monitor-enable(No default value)
--innodb-monitor-reset(No default value)
--innodb-monitor-reset-all(No default value)
--innodb-old-blocks-pct37The percentage of the buffer pool to use for the old block sublist. Possible values range from '5' to '95'.
--innodb-old-blocks-time0How long (in milliseconds) an inserted block must stay in the old sublist after its first access before it can be moved to the new sublist. '0' means "no delay". Possible values range from '0' to '232-1' (2**32-1).
--innodb-online-alter-log-max-size134217728
--innodb-open-files300The max number of .ibd files InnoDB can keep open simultaneously. Allowed values range from '10' to '4294967295'. Only applies if you use multiple tablespaces.
--innodb-optimize-fulltext-only0
--innodb-overwrite-relay-log-infoFALSE
--innodb-page-size16384
--innodb-pass-corrupt-table0
--innodb-print-all-deadlocks0Whether to write transaction deadlock information to the error log.
--innodb-purge-batch-size20Units of redo log records that will trigger a purge operation.
--innodb-purge-threads0Number of threads (0 or 1) dedicated to XtraDB purge operations.
--innodb-random-read-ahead0Enable random read-ahead optimization technique.
--innodb-read-aheadlinear
--innodb-read-ahead-threshold56Allowed values range from '0' to '64'. Default of '56' means that InnoDB must read at least 56 pages sequentially from an extent to initiate an asynchronous read for the following extent.
--innodb-read-io-threads4The number of I/O threads for InnoDB read operations. Possible values range from '1' to '64'.
--innodb-read-only0
--innodb-recovery-stats0
--innodb-recovery-update-relay-log0Whether to overwrite the relay log info file on crash recovery if it differs from the InnoDB record.
--innodb-replication-delay0Replication thread delay (in milliseconds) on a slave server if innodb_thread_concurrency is reached. Allowed values range from '0' (no delay) to '4294967295'.
--innodb-rollback-on-timeoutFALSE
--innodb-rollback-segments128Number of rollback segments to use within a transaction.
--innodb-rsegON
--innodb-sched-priority-cleaner19
--innodb-show-locks-held10
--innodb-show-verbose-locks0
--innodb-sort-buffer-size1048576
--innodb-spin-wait-delay6
--innodb-stats-auto-recalc1
--innodb-stats-auto-update1
--innodb-stats-methodnulls_equalDetermines how the server treats NULL values when collecting statistics regarding index value distribution for InnoDB tables. Possible values are 'nulls_equal', 'nulls_unequal', or 'nulls_ignored'.
--innodb-stats-on-metadataTRUEControls whether or not to update statistics during metadata statements (e.g. SHOW TABLE STATUS or SHOW INDEX) or when accessing the INFORMATION_SCHEMA.TABLES or INFORMATION_SCHEMA.STATISTICS tables.
--innodb-stats-persistent1
--innodb-stats-persistent-sample-pages20
--innodb-stats-sample-pages8The number of index pages to sample when calculating index distribution statistics. Possible values range from '1' to '264-1' (2**64-1).
--innodb-stats-transient-sample-pages8
--innodb-stats-update-need-lock1
--innodb-status-fileFALSE
--innodb-strict-modeFALSEControls whether or not to return errors instead of warnings for certain conditions. This option is analogous to strict SQL mode.
--innodb-support-xaTRUEControls whether of not to use a two-phase commit in XA transactions (this causes an extra disk flush for transaction preparation).
--innodb-sync-array-size1
--innodb-sync-spin-loops30The number of times a thread will wait for an InnoDB mutex to be freed before the thread is suspended. Possible values range from '0' to '4294967295'.
--innodb-sys-indexesON
--innodb-sys-statsON
--innodb-sys-tablesON
--innodb-table-locksTRUE
--innodb-table-statsON
--innodb-thread-concurrency0How many concurrent operating system threads InnoDB will try and stay at or below. Possible values range from '0' (no concurrency checking) to '1000'.
--innodb-thread-concurrency-timer-basedFALSE
--innodb-thread-sleep-delay10000
--innodb-track-changed-pages0Whether to track changed pages for faster incremental backup with Xtrabackup.
--innodb-trxON
--innodb-undo-directory.
--innodb-undo-logs128
--innodb-undo-tablespaces0
--innodb-use-atomic-writes0
--innodb-use-fallocate0
--innodb-use-global-flush-log-at-trx-commit1
--innodb-use-native_aio1
--innodb-use-purge-thread1
--innodb-use-stacktrace0
--innodb-use-sys-mallocTRUEIf TRUE, InnoDB will use the operating system's memory allocator. If 'FALSE', InnoDB will use its own.
--innodb-use-sys-stats-tableFALSE
--innodb-write-io-threads4The number of I/O threads for write operations. Possible values range from '1' to '64'.

Options for the Performance Schema

The following options are used with MariaDB's Performance Schema.

Options for PBXT

The following system variables are available for controlling the behavior of the PBXT engine. The PBX engine is no longer maintained, and is not available from MariaDB 5.5.

System variables can be set in the my.cnf file or on the mysqld command line. Variables that can be set dynamically can be set using the SET GLOBAL command which is sent to the server. System variables that can be set dynamically are specified as such below.

Variables that specify a number of bytes may include a unit indication after the value. For example: 100KB, 64MB, etc. There should be no space between the number and the unit. Units are case insensitive (KB = Kb = kb). If no unit is specified then bytes is assumed. The recognized units are:

  • KB (or K) - Kilobyte, 1024 bytes
  • MB (or M) - Megabyte, 1024 KB
  • GB (or G) - Gigabyte, 1024 MB
  • TB (or T) - Terabyte, 1024 GB
  • PB (or P) - Petabyte, 1024 TB

Variables which use this type of value are: pbxt_index_cache_size, pbxt_record_cache_size, pbxt_log_cache_size, pbxt_log_file_threshold, pbxt_checkpoint_frequency, pbxt_data_log_threshold, pbxt_log_buffer_size, pbxt_data_file_grow_size, and pbxt_row_file_grow_size.

OptionDefault ValueDescription
--pbxtON
--pbxt-max-threads0
--pbxt-statisticsON

PBXT Cache Memory Variables

OptionDefault ValueDescription
--pbxt-index-cache-size32MBThe amount of memory allocated to the index cache. The memory allocated here is used only for caching index pages (.xti files).
--pbxt-record-cache-size32MBThis is the amount of memory allocated to the record cache used to cache table data. This memory is used to cache changes to the handle data (.xtd) and row index (.xtr) files.
--pbxt-log-cache-size16MBThe amount of memory allocated to the transaction log cache used to cache on transaction log data (xlog-*.xt files).

PBXT Transaction Manager Variables

OptionDefault ValueDescription
--pbxt-log-file-threshold32MBThe size of a transaction log file (xlog-*.xt files) before "rollover", and a new log file is created.
--pbxt-transaction-buffer-size1MBThe size of the global transaction log buffer (the engine allocates 2 buffers of this size). Data to be written to a transaction log file is first written to the transaction log buffer. Since the buffer is flushed on transaction commit, it only makes sense to use a large transaction log buffer if you have longer running transactions, or many transaction running in parallel.
--pbxt-checkpoint-frequency24MBThe amount of data written to the transaction log before a checkpoint is performed.
--pbxt-sweeper-priority0Determines the priority of the background Sweeper thread. Possible values are '0' (Low), '1' (Normal), or '2' (High). The Sweeper is responsible for removing deleted records and index entries (deleted records also result from UPDATE statements). If many old deleted records accumulate search operations become slower. Therefore it may improve performance to increase the priority of the Sweeper on a machine with 4 or more cores.
--pbxt-auto-increment-mode0The parameter determines how PBXT manages auto-increment values. Possible values are '0' (MySQL standard) or '1' (Previous IDs are never re-used).

In the standard 'MySQL' mode it is possible that an auto-increment value is re-issued. This occurs when the maximum auto-increment value is deleted, and then MariaDB is restarted. This occurs because the next auto-increment value to be issued is determined at startup by retrieving the current maximum auto-increment value from the table.

In mode 1, auto-increment values are never re-issued because PBXT automatically incrementing the table level AUTO_INCREMENT table option. The AUTO_INCREMENT table is incremented in steps of 100. Since this requires the table file to be flushed to disk, this can influence performance.
--pbxt-flush-log-at-trx-commit1This variable specifies the durability of recently committed transactions. By reducing the durability, the speed of write operations can be increased.

'0' - Lowest durability, the transaction log is not written or flushed on transaction commit. In this case it is possible to loose transactions if the server executable crashes.
'1' - Full-durability, the transaction log is written and flushed on every transaction commit.
'2' - Medium durabilty, the transaction log is written, but not flushed on transaction commit. In this case it is possible to loose transactions of the server machine crashes (for example, a power failer).

In all cases, the transaction log is flushed at least once every second. This means that it is only every possible to loose database changes that occurred within the last second.
--pbxt-log-file-count3The number of transaction log files on disk before logs that are no longer required are deleted, default value is 3. The number of transaction logs on disk may exceed this number if the logs are still being read.

If a transaction log has been read (i.e. the log is offline), it will be recycled for writing again, unless it must be deleted because the number of logs on disk exceeds this threshold. Recycling logs is an optimization because the writing a pre-allocated file is faster then writing to the end of a file.

Note: an exception to this rule is Mac OS X. On Mac OS X old log files are not recycled because writing pre-allocated file is slower than writing to the end of file.
--pbxt-offline-log-function0This variable determines what happens to a transaction log when it is offline. A log is offline if PBXT is no longer reading or writing to the log. There are 3 possibilities:

'0' - Recycle log (default). This means the log is renamed and written again.
'1' - Delete log (default on Mac OS X).
'2' - Keep log. The logs can be used to repeat all operations that were applied to the database.
--pbxt-support-xaTRUEThis variable determines if XA (2-phase commit) support is enabled.

PBXT Data Log Variables

PBXT stores part of the database in the data logs. This is mostly data from rows containing long VARCHAR fields or BLOB data. The data logs are managed by the "compactor" thread. When a record is deleted from a data log, the data is marked as garbage. When the total garbage in a data log reaches a certain threshold, the compactor thread compacts the data log by copying the valid data to a new data log, and deleting the old data log.

The following system variables control the way data logs are managed.

OptionDefault ValueDescription
--pbxt-data-log-threshold64MBThe maximum size of a data log file. PBXT can create a maximum of 32000 data logs, which are used by all tables. So the value of this variable can be increased to increase the total amount of data that can be stored in the database.
--pbxt-log-buffer-size256MBThis is the size of the buffer used when writing a data log. The engine allocates one buffer per thread, but only if the thread is required to write a data log.
--pbxt-garbage-threshold50The percentage of garbage in a data log file before it is compacted. This is a value between 1 and 99.

PBXT File Grow Variables

The handle data and row index files are grown in chunks.

OptionDefault ValueDescription
--pbxt-data-file-grow-size2MBThe grow size of the handle data (.xtd) files.
--pbxt-row-file-grow-size256KBThe grow size of the row index (.xtr) files.

Other Options

OptionDescriptionIntroduced
--allow-suspicious-udfsAllows use of UDFs consisting of only one symbol xxx() without corresponding xxx_init() or xxx_deinit(). That also means that one can load any function from any library, for example exit() from libc.so
--autocommit
--automatic-sp-privilegesCreating and dropping stored procedures alters ACLs. Disable with '--skip-automatic-sp-privileges'.
--back-log=# The number of outstanding connection requests MariaDB can have. This comes into play when the main thread gets very many connection requests in a very short time.
-b, --basedir=namePath to installation directory. All paths are usually resolved relative to this.
--bind-address=nameIP address to bind to
--bootstrapUsed by mysql installation scripts.
--character-set-client-handshakeDon't ignore client side character set value sent during handshake.
--character-set-filesystem=nameSet the filesystem character set.
-C, --character-set-server=nameSet the default character set.
--character-sets-dir=nameDirectory where character sets are.
-r, --chroot=nameChroot mysqld daemon during startup.
--collation-server=nameSet the default collation.
--completion-type=#Default completion type
--connect-timeout=#The number of seconds the mysqld server is waiting for a connect packet before responding with 'Bad handshake'.
-h, --datadir=namePath to the database root.
--date-format=nameThe DATE format (unused).
--datetime-format=nameThe DATETIME/TIMESTAMP format (unused).
--deadlock-search-depth-long=#Long search depth for the two-step deadlock detection (only for Aria). See also Aria Server System Variables.
--deadlock-search-depth-short=#Short search depth for the two-step deadlock detection (only for Aria). See also Aria Server System Variables.
--deadlock-timeout-long=#Long timeout for the two-step deadlock detection (in microseconds) (only for Aria). See also Aria Server System Variables.
--deadlock-timeout-short=#Short timeout for the two-step deadlock detection (in microseconds) (only for Aria). See also Aria Server System Variables.
--default-character-set=nameSet the default character set (deprecated option, use --character-set-server instead).
--default-collation=nameSet the default collation (deprecated option, use --collation-server instead).
--default-storage-engine=nameSet the default storage engine (table type) for tables.
--default-table-type=name(removed) Use '--default-storage-engine'.
--default-time-zone=nameSet the default time zone.
--default-week-format=#The default week format used by WEEK() functions.
--delay-key-write[=name]Type of DELAY_KEY_WRITE.
--des-key-file=nameLoad keys for des_encrypt() and des_encrypt from given file.
--div-precision-increment=#Precision of the result of '/' operator will be increased on that value.
--enable-lockingDeprecated option, use --external-locking instead.
--enable-named-pipeOn Windows systems, determines whether connections over named pipes are permitted.
--engine-condition-pushdownPush supported query conditions to the storage engine.
--event-scheduler[=name]Enable/disable the event scheduler.
-T, --exit-info[=#]Used for debugging. Use at your own risk.
--expire-logs-days=#If non-zero, binary logs will be purged after expire_logs_days days; possible purges happen at startup and at binary log rotation.
--extra-max-connections=#The number of connections on 'extra-port.
--extra-port=#Extra port number to use for tcp-connections in a one-thread-per-connection manner. 0 means don't use another port
--flushFlush tables to disk between SQL commands.
--flush-time=#A dedicated thread is created to flush all tables at the given interval.
--ft-boolean-syntax=nameList of operators for MATCH ... AGAINST ( ... IN BOOLEAN MODE).
--ft-max-word-len=#The maximum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable.
--ft-min-word-len=#The minimum length of the word to be included in a FULLTEXT index. Note: FULLTEXT indexes must be rebuilt after changing this variable.
--ft-query-expansion-limit=#Number of best matches to use for query expansion.
--ft-stopword-file=nameUse stopwords from this file instead of built-in list.
--general-logEnable/disable general log.
--general-log-file=nameLog connections and queries to given file.
--group-concat-max-len=#The maximum length of the result of function group_concat.
-?, --helpDisplay this help and exit.
--histogram-size=#
--histogram-type=value
--host-cache-size=#
--ignore-builtin-innodbDisable initialization of builtin InnoDB plugin.
--ignore-db-dir=nameTells the server that this directory can never be a database. That means two things - firstly it is ignored by the SHOW DATABASES command and INFORMATION_SCHEMA tables. And secondly, USE, CREATE DATABASE and SELECT statements will return an error if the database from the ignored list specified. Use this option several times if you need to ignore more than one directory. To make the list empty set the void value to the option as --ignore-db-dir=. Corresponding read-only variable @@ignore_db_dirs shows the current list. New in 5.3.9.MariaDB 5.3
--init-connect=nameCommand(s) that are executed for each new connection that has not the SUPER USER privilege.
--init-file=nameRead SQL commands from this file at startup.
--interactive-timeout=#The number of seconds the server waits for activity on an interactive connection before closing it.
-L, --language=nameClient error messages in given language. May be given as a full path. Removed. Use --lc-messages and --lc-messages-dir instead.
--large-pagesEnable support for large pages. Disable with '--skip-large-pages'.
--lc-messages=nameSet the language used for the error messages. Default en_us.MariaDB 5.5
--lc-messages-dir=pathDirectory where error message directories are (czech, english etc)MariaDB 5.5
--lc-time-names=nameSet the language used for the month names and the days of the week.
--local-infileEnable/disable LOAD DATA LOCAL INFILE (takes values 1 or 0).
--lock-wait-timeout
-l, --log[=name]Log connections and queries to file (deprecated option, removed in MariaDB 10.0, use --general_log/--general_log_file instead).
--log-error[=name]Error log file.
-0, --log-long-formatLog some extra information to update log. Please note that this option is deprecated; see --log-short-format option.
--log-output[=name]Syntax: log-output[=value[,value...]], where "value" could be TABLE, FILE or NONE.
--log-queries-not-using-indexesLog queries that are executed without benefit of any index to the slow log if it is open.
--log-short-formatDon't log extra information to update and slow-query logs.
--log-slow-admin-statementsLog slow OPTIMIZE, ANALYZE, ALTER and other administrative statements to the slow log if it is open.
--log-slow-file=nameLog slow queries to given log file. Defaults logging to hostname-slow.log
--log-slow-filter=nameLog only the queries that followed certain execution plan. Multiple flags allowed in a comma-separated string. [admin, filesort, filesort_on_disk, full_join, full_scan, query_cache, query_cache_miss, tmp_table, tmp_table_on_disk]. Sets log-slow-admin-command to ON
--log-slow-queries[=name]Log slow queries to a table or log file. Deprecated and removed in MariaDB 10.0, use slow_query_log and _fileslow_query_log_file instead)
--log-slow-rate-limit=# If set, only write to slow log every 'log_slow_rate_limit' query (use this to reduce output on slow query log)
--log-slow-slave-statementsLog slow statements executed by slave thread to the slow log if it is open.
--log-slow-time=# Log all queries that have taken more than long-query-time seconds to execute to the slow query log, if active. The argument will be treated as a decimal value with microsecond precission.
--log-slow-verbosity=nameChoose how verbose the messages to your slow log will be. Multiple flags allowed in a comma-separated string. [query_plan, innodb]
--log-tc=namePath to transaction coordinator log (used for transactions that affect more than one storage engine, when binary log is disabled).
--log-tc-size=# Size of transaction coordinator log.
--log-update[=name]The update log is deprecated since version 5.0, is replaced by the binary log and this option just turns on --log-bin instead.
-W, --log-warnings[=#]Log warnings to the log file. See log_warnings for details.
--long-query-time=# Log all queries that have taken more than long_query_time seconds to execute. The argument will be treated as a decimal value with microsecond precision.
--low-priority-updatesINSERT/DELETE/UPDATE has lower priority than selects.
--lower-case-table-names[=#]If set to 1, table names are stored in lowercase on disk and table names will be case-insensitive. Should be set to 2 if you are using a case-insensitive file system.
--master-connect-retry=# Deprecated in 5.1.17 and removed in 5.5. The number of seconds the slave thread will sleep before retrying to connect to the master, in case the master goes down or the connection is lost.
--max-allowed-packet=#The maximum packet length to send to or receive from server.
--max-connections=#The number of simultaneous clients allowed.
--max-connect-errors=#If there is more than this number of interrupted connections from a host this host will be blocked from further connections.
--max-delayed-threads=#Don't start more than this number of threads to handle INSERT DELAYED statements. If set to zero, which means INSERT DELAYED is not used.
--max-error-count=#Max number of errors/warnings to store for a statement.
--max-length-for-sort-data=#Max number of bytes in sorted records.
--max-long-data-size=#
--max-prepared-stmt-count=#Maximum number of prepared statements in the server.
--max-sp-recursion-depth[=#]Maximum stored procedure recursion depth.
--max-tmp-tables=#
--max-user-connections=#The maximum number of active connections for a single user (0 = no limit).
--max-write-lock-count=#After this many write locks, allow some read locks to run in between.
--memlockLock mysqld in memory.
--metadata-locks-cache-size=#
--metadata-locks-hash-instances=#
--min-examined-row-limit=#Don't log queries which examine less than min_examined_row_limit rows to file.
--mrr-buffer-size=#Size of buffer to use when using multi-range read with range access. See Multi Range Read optimization.
--multi-range-count=#Deprecated in 5.1 and removed in 5.5. Use mrr-buffer-size instead.
--ndb-use-copying-alter-tableForce ndbcluster to always copy tables at alter table (should only be used if on-line alter table fails).
--net-buffer-length=#Buffer length for TCP/IP and socket communication.
--net-read-timeout=#Number of seconds to wait for more data from a connection before aborting the read.
--net-retry-count=#If a read on a communication port is interrupted, retry this many times before giving up.
--net-write-timeout=#Number of seconds to wait for a block to be written to a connection before aborting the write.
--one-thread(Deprecated): Only use one thread (for debugging under Linux). Use thread-handling=no-threads instead.
--open-files-limit=#If this is not 0, then mysqld will use this value to reserve file descriptors to use with setrlimit(). If this value is 0 then mysqld will reserve max_connections*5 or max_connections + table_cache*2 (whichever is larger) number of files.
--pid-file=namePid file used by safe_mysqld.
--plugin-load=nameOptional semicolon-separated list of plugins to load, where each plugin is identified as name=library, where name is the plugin name and library is the plugin library in plugin_dir.
--plugin-load-add=nameTakes the same type of arguments that --plugin-load does and complements --plugin-load by appending its argument to the list specified by --plugin-load. So --plugin-load can be considered a composite option consisting of resetting the plugin load list and then calling --plugin-load-add to process the argument. Note that the order in which you specify --plugin-load and --plugin-load-add is important : "--plugin-load=x --plugin-load-add=y" will be equivalent to "--plugin-load=x,y" whereas "--plugin-load-add=y --plugin-load=x" will be equivalent to "plugin-load=x".MariaDB 10.0
--plugin-dir=nameDirectory for plugins.
--plugin-maturity=level
-P, --port=#Port number to use for connection or 0 for default to, in order of preference, my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default (3306).
--port-open-timeout=# Maximum time in seconds to wait for the port to become free. (Default: No wait).
--preload-buffer-size=#The size of the buffer that is allocated when preloading indexes.
--profiling-history-size=#Limit of query profiling memory.
--progress-report-time=#Seconds between sending progress reports to the client for slow commands. Set to 0 to disable progress. New in 5.3
--query-cache-limit=#Don't cache results that are bigger than this in the query cache.
--query-cache-min-res-unit=#Minimal size of unit in which space for results is allocated in the query cache (last unit will be trimmed after writing all result data).
--query-cache-size=#The memory allocated to store results from old queries in the query cache.
--query-cache-strip-comments
--query-cache-type=#0 = OFF = Don't cache or retrieve results in the query cache. 1 = ON = Cache all results except SELECT SQL_NO_CACHE ... queries. 2 = DEMAND = Cache only SELECT SQL_CACHE ... queries.
--query-cache-wlock-invalidateInvalidate queries in query cache on LOCK for write.
--read-onlyMake all non-temporary tables read-only, with the exception of replication (slave) threads and users with the SUPER privilege.
--read-rnd-buffer-size=# When reading rows in sorted order after a sort, the rows are read through this buffer to avoid disk seeks.
--safe-show-databaseDeprecated and removed in MariaDB 5.5.3; use GRANT SHOW DATABASES instead.
--safe-user-createDon't allow new user creation by the user who has no write privileges to the mysql.user table.
--safemalloc-mem-limit=# Simulate memory shortage when compiled with the --with-debug=full option.
--secure-authDisallow authentication for accounts that have old (pre-4.1) passwords.
--secure-file-priv=nameLimit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to files within specified directory.
-O, --set-variable=nameChange the value of a variable. Please note that this option is deprecated; you can set variables directly with '--variable-name=value'.
--show-slave-auth-infoShow user and password in SHOW SLAVE HOSTS on this master.
--skip-external-locking
--skip-grant-tablesStart without grant tables. This gives all users FULL ACCESS to all tables.
--skip-host-cacheDon't cache host names.
--skip-lockingDeprecated option, use --skip-external-locking instead.
--skip-name-resolveDon't resolve hostnames. All hostnames are IP's or 'localhost'.
--skip-networkingDon't allow connection with TCP/IP.
--skip-show-databaseDon't allow the SHOW DATABASES command.
--skip-slave-startIf set, slave is not autostarted.
--skip-stack-traceDon't print a stack trace on failure.
--skip-symlinkDon't allow symlinking of tables. Deprecated option. Use --skip-symbolic-links instead.
--skip-thread-priorityDon't give threads different priorities. Deprecated option.
--slow-launch-time=# If creating the thread takes longer than this value (in seconds), the Slow_launch_threads counter will be incremented.
--slow-query-logEnable/disable slow query log.
--slow-query-log-file=nameLog slow queries to given log file. Defaults logging to hostname-slow.log. Must be enabled to activate other slow log options.
--socket=nameSocket file to use for connection.
--sort-buffer-size=#Each thread that needs to do a sort allocates a buffer of this size.
--sql-bin-update-same=# The update log is deprecated since version 5.0, is replaced by the binary log and this option does nothing anymore.
--sql-mode=nameSyntax: sql-mode=option[,option[,option...]]. See SQL_MODE.
--sslEnable SSL for connection (automatically enabled with other flags).Disable with '--skip-ssl'.
--ssl-ca=nameCA file in PEM format (check OpenSSL docs, implies --ssl).
--ssl-capath=nameCA directory (check OpenSSL docs, implies --ssl).
--ssl-cert=nameX509 cert in PEM format (implies --ssl).
--ssl-cipher=nameSSL cipher to use (implies --ssl).
--ssl-crl=nameMariaDB 10.0
--ssl-crlpath=nameMariaDB 10.0
--ssl-key=nameX509 key in PEM format (implies --ssl).
--stored-program-cache=#
-s, --symbolic-linksEnable symbolic link support.
--sync-frmSync .frm to disk on create. Enabled by default.
--table-lock-wait-timeout=#Timeout in seconds to wait for a table level lock before returning an error. Used only if the connection has active cursors.
--tc-heuristic-recover=nameDecision to use in heuristic recover process. Possible values are COMMIT or ROLLBACK.
--temp-poolUsing this option will cause most temporary files created to use a small set of names, rather than a unique name for each new file.
--test-expect-abortExpect that server aborts with 'abort'; Don't write out server variables on 'abort'. Useful only for test scripts
--test-ignore-wrong-optionsIgnore wrong enums values in command line arguments. Useful only for test scripts
--thread-cache-size=#How many threads we should keep in a cache for reuse.
--thread-concurrency=#Permits the application to give the threads system a hint for the desired number of threads that should be run at the same time.
--thread-handling=nameDefine threads usage for handling queries: one-thread-per-connection, pool-of-threads, or no-threads.
--thread-pool-algorithm
--thread-pool-high-priority-connection=#
--thread-pool-idle-timeout=#
--thread-pool-max-threads=#
--thread-pool-max-unused-threads=#
--thread-pool-min-threads=#
--thread-pool-prio-kickup-timer=#
--thread-pool-size=#How many threads we should create to handle query requests in case of 'thread_handling=pool-of-threads'.
--thread-pool-stall-limit=#
--thread-stack=#The stack size for each thread.
--timed-mutexesSpecify whether to time mutexes (only InnoDB mutexes are currently supported).
--time-format=nameThe TIME format (for future).
-t, --tmpdir=namePath for temporary files. Several paths may be specified, separated by a colon (:), in this case they are used in a round-robin fashion.
--transaction-isolation=nameDefault transaction isolation level.
--transaction-alloc-block-size=#Allocation block size for transactions to be stored in binary log.
--transaction-prealloc-size=#Persistent buffer for transactions to be stored in binary log.
--transaction-read-only=#
--updatable-views-with-limit=#1 = YES = Don't issue an error message (warning only) if a VIEW without presence of a key of the underlying table is used in queries with a LIMIT clause for updating. 0 = NO = Prohibit update of a VIEW, which does not contain a key of the underlying table and the query uses a LIMIT clause (usually get from GUI tools).
--use-symbolic-linksEnable symbolic link support. Deprecated option; use --symbolic-links instead.
-u, --user=nameRun mysqld daemon as user.
--userstat=#
-v, --verboseUsed with --help option for detailed help.
-V, --versionOutput version information and exit.
--wait_timeout=#The number of seconds the server waits for activity on a connection before closing it.
--warnings[=#]Deprecated; use --log-warnings instead.

Feedback Plugin

The options for the Feedback Plugin are all described on the Feedback Plugin page.

Default values

You can verify the default values for an option by doing:

mysqld --no-defaults --help --verbose

The default values are at the end of this list

Comments

Comments loading...