summaryrefslogtreecommitdiffstats
path: root/debian/tests
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xdebian/tests/configuration-tracing111
-rw-r--r--debian/tests/control20
-rw-r--r--debian/tests/smoke123
-rw-r--r--debian/tests/traces/mariadb-print-defaults.expected2
-rw-r--r--debian/tests/traces/mariadb-verbose-help.expected228
-rw-r--r--debian/tests/traces/mariadbd-print-defaults.expected2
-rw-r--r--debian/tests/traces/mariadbd-verbose-help.expected3110
-rw-r--r--debian/tests/upstream74
8 files changed, 3670 insertions, 0 deletions
diff --git a/debian/tests/configuration-tracing b/debian/tests/configuration-tracing
new file mode 100755
index 00000000..fc6dbbd1
--- /dev/null
+++ b/debian/tests/configuration-tracing
@@ -0,0 +1,111 @@
+#!/bin/sh
+# dep8 smoke test for mariadbd
+# Author: Otto Kekäläinen <otto@debian.org>
+#
+# This test should be declared in debian/tests/control with a dependency
+# on the package that provides a configured MariaDB server (eg.
+# mariadb-server).
+#
+# This test should be declared in debian/tests/control with the
+# following restrictions:
+# - needs-root (binaries in /usr/sbin need root to run)
+# - allow-stderr (set -x always outputs to stderr, also if mariadbd was not
+# launched as a service it will complain that mysql.plugin table is empty)
+#
+# This test prints out various configuration information from mariadbd and
+# compares the result to expected values in original binary/build.
+#
+
+normalize_value() {
+ VARIABLE="$1"
+ VALUE="$2"
+ # In sed the '\s.*' will match whitespace followed by any other chars until end of line
+ sed "s/^$VARIABLE\(\s\s*\).*$/$VARIABLE\1$VALUE/" -i "$TEMPFILE"
+}
+
+trace() {
+ TRACE_NAME="$(echo "$*" | sed -E 's|/usr/(s?)bin/||' | sed 's/ //g' | sed 's/--/-/g')"
+
+ # Show in test what was run
+ echo
+ echo "Tracing: $*"
+
+ # shellcheck disable=SC2068
+ $@ > "$TRACE_NAME.actual"
+
+ # Normalize contents for know special case
+ if echo "$*" | grep -q verbose
+ then
+ TEMPFILE="$(mktemp)"
+ # Use 'tail' to skip first line that has version and architecture strings which
+ # we intentionally do not want to include in the trace file.
+ tail -n +2 "$TRACE_NAME.actual" > "$TEMPFILE"
+
+ # Hostname varies one very machine
+ sed "s/$(hostname)/HOSTNAME/g" -i "$TEMPFILE"
+
+ # Version/revision increases on every release
+ VERSION=$(mariadbd --help --verbose | grep -e "^version " | rev | cut -d ' ' -f 1 | rev)
+ sed "s/$VERSION/VERSION/g" -i "$TEMPFILE"
+
+ # SSL library version inherited form dependency, not relevant for tracing
+ # the correctness of the MariaDB build itself
+ sed 's/OpenSSL 3.*/SSL-VERSION/' -i "$TEMPFILE"
+
+ # Normalize values that depend on build environment
+ normalize_value system-time-zone UTC # depends on OS environment
+ normalize_value open-files-limit 32000 # depends on OS environment
+ normalize_value thread-pool-size 2 # depends on CPU cores available
+ normalize_value version-compile-machine ARCH # x86_64, aarch64, armv7l ..
+
+ # armhf/armel might have: debian-linux-gnueabi, debian-linux-gnueabihf
+ normalize_value version-compile-os debian-linux-gnu
+
+ # In Sid 'Debian n/a', in Bookworm 'Debian 12'
+ normalize_value version-comment "Debian RELEASE"
+
+ # Inherits git commit id from latest upstream release and thus not constant
+ normalize_value version-source-revision -
+
+ # 32-bit systems (i386, armel, armhf) have lower values
+ normalize_value innodb-io-capacity-max 18446744073709551615 # 32-bit: 4294967295
+ normalize_value max-binlog-cache-size 18446744073709547520 # 32-bit: 4294963200
+ normalize_value max-binlog-stmt-cache-size 18446744073709547520 # 32-bit: 4294963200
+ normalize_value myisam-max-sort-file-size 18446744073709551615 # 32-bit: 2146435072
+ normalize_value myisam-mmap-size 9223372036853727232 # 32-bit: 4294967295
+ normalize_value tmp-disk-table-size 18446744073709551615 # 32-bit: 4294967295
+
+ # ppc64el has larger default value: 393216
+ normalize_value log-tc-size 24576
+
+ mv "$TEMPFILE" "$TRACE_NAME.actual"
+ fi
+
+ echo "diff --ignore-space-change -u $TRACE_NAME.expected $TRACE_NAME.actual"
+ # Validate that trace file in source code matches tested
+ if ! diff --ignore-space-change -u "$TRACE_NAME.expected" "$TRACE_NAME.actual"
+ then
+ echo "Error: Output from '$*' did NOT match what was expected"
+ echo
+ echo "If the change is intentional, update the debian/tests/traces to match"
+ echo "the new values and document change to users in mariadb-server.NEWS"
+ exit 1
+ fi
+}
+
+echo "Running test 'configuration-tracing'"
+cd debian/tests/traces || exit 1
+
+set -e
+
+# Dump out what parameters mariadb would be called with by default
+trace /usr/bin/mariadb --print-defaults
+
+# Dump out all help texts, client variables and their default values
+trace /usr/bin/mariadb --verbose --help
+
+# Dump out what parameters mariadbd would be called with by default on system
+trace /usr/sbin/mariadbd --print-defaults
+
+# Dump out all help texts, server variables and their default values
+trace /usr/sbin/mariadbd --verbose --help
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 00000000..d91e3b11
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,20 @@
+Tests: configuration-tracing
+Depends: mariadb-server, diffutils
+Restrictions: allow-stderr needs-root
+
+Tests: smoke
+# RocksDB is not built for all archs. Rather than duplicating the condition
+# for its existence (see the list in debian/control), install it if available
+# and check in the test if it's functional when it should be.
+# The plugin package also already depends on the other one.
+Depends: mariadb-plugin-rocksdb | mariadb-server,
+ mariadb-plugin-provider-bzip2,
+ mariadb-plugin-provider-lz4,
+ mariadb-plugin-provider-lzma,
+ mariadb-plugin-provider-lzo,
+ mariadb-plugin-provider-snappy
+Restrictions: allow-stderr needs-root isolation-container
+
+Tests: upstream
+Depends: mariadb-test, eatmydata
+Restrictions: allow-stderr breaks-testbed
diff --git a/debian/tests/smoke b/debian/tests/smoke
new file mode 100644
index 00000000..5c4facbb
--- /dev/null
+++ b/debian/tests/smoke
@@ -0,0 +1,123 @@
+#!/bin/sh
+# dep8 smoke test for mysql-server
+# Author: Robie Basak <robie.basak at canonical.com>
+#
+# This test should be declared in debian/tests/control with a dependency
+# on the package that provides a configured MariaDB server (eg.
+# mariadb-server).
+#
+# This test should be declared in debian/tests/control with the
+# following restrictions:
+# - allow-stderr (set -x always outputs to stderr)
+# - needs-root (to be able to log into the database)
+# - isolation-container (to be able to start service)
+#
+# This test:
+#
+# 1) Creates a test database and test user as the root user.
+#
+# 2) Creates a test table and checks it appears to operate normally
+# using the test user and test database.
+#
+# 3) Checks compression support for InnoDB & RocksDB engine.
+
+echo "Running test 'smoke'"
+set -ex
+
+# Start the daemon if it was not running. For example in Docker testing
+# environments there might not be any systemd et al and the service needs to
+# be started manually.
+if ! command -v systemctl
+then
+ if ! /etc/init.d/mariadb status
+ then
+ echo "Did not find systemctl and daemon was not running, starting it.."
+ /etc/init.d/mariadb start
+ fi
+else
+ # If systemd (and systemctl) is available, but the service did not start, then
+ # this smoke test is supposed to fail if next commands don't work.
+ echo "Found systemctl, continuing smoke test.."
+ # Compression plugins are separated from main server package
+ # to own packages (for example LZ4 package mariadb-plugin-provider-lz4)
+ # and they are installed after mariadb-server.
+ # which means that they don't exist if MariaDB is not restarted
+ systemctl restart mariadb
+fi
+
+mysql <<EOT
+CREATE DATABASE testdatabase;
+CREATE USER 'testuser'@'localhost' identified by 'testpassword';
+GRANT ALL ON testdatabase.* TO 'testuser'@'localhost';
+EOT
+
+mysql testdatabase <<EOT
+CREATE TABLE foo (bar INTEGER);
+INSERT INTO foo (bar) VALUES (41);
+EOT
+
+result=$(echo 'SELECT bar+1 FROM foo;'|mysql --batch --skip-column-names --user=testuser --password=testpassword testdatabase)
+if [ "$result" != "42" ]
+then
+ echo "Unexpected result" >&2
+ exit 1
+fi
+
+mysql --user=testuser --password=testpassword testdatabase <<EOT
+DROP TABLE foo;
+EOT
+
+mysql <<EOT
+DROP DATABASE testdatabase;
+DROP USER 'testuser'@'localhost';
+EOT
+
+# This will never fail but exists purely for debugging purposes in case a later
+# step would fail
+mariadb <<EOT
+SHOW GLOBAL STATUS WHERE Variable_name LIKE 'Innodb_have_%';
+EOT
+
+mariadb <<EOT
+SET GLOBAL innodb_compression_algorithm=lz4;
+SET GLOBAL innodb_compression_algorithm=lzo;
+SET GLOBAL innodb_compression_algorithm=lzma;
+SET GLOBAL innodb_compression_algorithm=bzip2;
+SET GLOBAL innodb_compression_algorithm=snappy;
+SET GLOBAL innodb_compression_algorithm=zlib;
+SET GLOBAL innodb_compression_algorithm=none;
+EOT
+
+# Check whether RocksDB should be installed or not
+plugin=mariadb-plugin-rocksdb
+if [ "$(dpkg-architecture -qDEB_HOST_ARCH_BITS)" != 32 ] &&
+ [ "$(dpkg-architecture -qDEB_HOST_ARCH_ENDIAN)" = little ]
+then
+ dpkg-query -W $plugin
+
+ LOG=/var/lib/mysql/#rocksdb/LOG
+ # XXX: The server may only be started during the install of
+ # mariadb-server, which happens before that of the plugin.
+ [ -e $LOG ] || mariadb -e "INSTALL PLUGIN RocksDB SONAME 'ha_rocksdb';"
+ # XXX: rocksdb_supported_compression_types variable does not report ZSTD.
+
+ # Print RocksDB supported items so test log is easier to debug
+ grep -F " supported:" $LOG
+
+ # Check that the expected compression methods are supported
+ for a in LZ4 Snappy Zlib ZSTD
+ do
+ if ! grep -qE "k$a(Compression)? supported: 1" $LOG
+ then
+ # Fail with explicit error message
+ echo "Error: Compression method $a not supported by RocksDB!" >&2
+ exit 1
+ fi
+ done
+else
+ if dpkg-query -W $plugin
+ then
+ echo "Error: Plugin $plugin was found even though it should not exist on a 32-bit and little-endian system"
+ exit 1
+ fi
+fi
diff --git a/debian/tests/traces/mariadb-print-defaults.expected b/debian/tests/traces/mariadb-print-defaults.expected
new file mode 100644
index 00000000..acb57953
--- /dev/null
+++ b/debian/tests/traces/mariadb-print-defaults.expected
@@ -0,0 +1,2 @@
+/usr/bin/mariadb would have been started with the following arguments:
+--socket=/run/mysqld/mysqld.sock
diff --git a/debian/tests/traces/mariadb-verbose-help.expected b/debian/tests/traces/mariadb-verbose-help.expected
new file mode 100644
index 00000000..015a0430
--- /dev/null
+++ b/debian/tests/traces/mariadb-verbose-help.expected
@@ -0,0 +1,228 @@
+Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
+
+Usage: /usr/bin/mariadb [OPTIONS] [database]
+
+Default options are read from the following files in the given order:
+/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
+The following groups are read: mysql mariadb-client client client-server client-mariadb
+The following options may be given as the first argument:
+--print-defaults Print the program argument list and exit.
+--no-defaults Don't read default options from any option file.
+The following specify which files/extra groups are read (specified before remaining options):
+--defaults-file=# Only read default options from the given file #.
+--defaults-extra-file=# Read this file after the global files are read.
+--defaults-group-suffix=# Additionally read default groups with # appended as a suffix.
+
+ -?, --help Display this help and exit.
+ -I, --help Synonym for -?
+ --abort-source-on-error
+ Abort 'source filename' operations in case of errors
+ --auto-rehash Enable automatic rehashing. One doesn't need to use
+ 'rehash' to get table and field completion, but startup
+ and reconnecting may take a longer time. Disable with
+ --disable-auto-rehash.
+ (Defaults to on; use --skip-auto-rehash to disable.)
+ -A, --no-auto-rehash
+ No automatic rehashing. One has to use 'rehash' to get
+ table and field completion. This gives a quicker start of
+ mysql and disables rehashing on reconnect.
+ --auto-vertical-output
+ Automatically switch to vertical output mode if the
+ result is wider than the terminal width.
+ -B, --batch Don't use history file. Disable interactive behavior.
+ (Enables --silent.)
+ --binary-as-hex Print binary data as hex
+ --character-sets-dir=name
+ Directory for character set files.
+ --column-type-info Display column type information.
+ -c, --comments Preserve comments. Send comments to the server. The
+ default is --skip-comments (discard comments), enable
+ with --comments.
+ -C, --compress Use compression in server/client protocol.
+ -#, --debug[=#] This is a non-debug version. Catch this and exit.
+ --debug-check Check memory and open file usage at exit.
+ -T, --debug-info Print some debug info at exit.
+ -D, --database=name Database to use.
+ --default-character-set=name
+ Set the default character set.
+ --delimiter=name Delimiter to be used.
+ -e, --execute=name Execute command and quit. (Disables --force and history
+ file.)
+ --enable-cleartext-plugin
+ Obsolete option. Exists only for MySQL compatibility.
+ -E, --vertical Print the output of a query (rows) vertically.
+ -f, --force Continue even if we get an SQL error. Sets
+ abort-source-on-error to 0
+ -G, --named-commands
+ Enable named commands. Named commands mean this program's
+ internal commands; see mysql> help . When enabled, the
+ named commands can be used from any line of the query,
+ otherwise only from the first line, before an enter.
+ Disable with --disable-named-commands. This option is
+ disabled by default.
+ -i, --ignore-spaces Ignore space after function names.
+ --init-command=name SQL Command to execute when connecting to MariaDB server.
+ Will automatically be re-executed when reconnecting.
+ --local-infile Enable/disable LOAD DATA LOCAL INFILE.
+ -b, --no-beep Turn off beep on error.
+ -h, --host=name Connect to host.
+ -H, --html Produce HTML output.
+ -X, --xml Produce XML output.
+ --line-numbers Write line numbers for errors.
+ (Defaults to on; use --skip-line-numbers to disable.)
+ -L, --skip-line-numbers
+ Don't write line number for errors.
+ -n, --unbuffered Flush buffer after each query.
+ --column-names Write column names in results.
+ (Defaults to on; use --skip-column-names to disable.)
+ -N, --skip-column-names
+ Don't write column names in results.
+ --sigint-ignore Ignore SIGINT (CTRL-C).
+ -o, --one-database Ignore statements except those that occur while the
+ default database is the one named at the command line.
+ --pager[=name] Pager to use to display results. If you don't supply an
+ option, the default pager is taken from your ENV variable
+ PAGER. Valid pagers are less, more, cat [> filename],
+ etc. See interactive help (\h) also. This option does not
+ work in batch mode. Disable with --disable-pager. This
+ option is disabled by default.
+ -p, --password[=name]
+ Password to use when connecting to server. If password is
+ not given it's asked from the tty.
+ -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).
+ --progress-reports Get progress reports for long running commands (like
+ ALTER TABLE)
+ (Defaults to on; use --skip-progress-reports to disable.)
+ --prompt=name Set the command line prompt to this value.
+ --protocol=name The protocol to use for connection (tcp, socket, pipe).
+ -q, --quick Don't cache result, print it row by row. This may slow
+ down the server if the output is suspended. Doesn't use
+ history file.
+ -r, --raw Write fields without conversion. Used with --batch.
+ --reconnect Reconnect if the connection is lost. Disable with
+ --disable-reconnect. This option is enabled by default.
+ (Defaults to on; use --skip-reconnect to disable.)
+ -s, --silent Be more silent. Print results with a tab as separator,
+ each row on new line.
+ -S, --socket=name The socket file to use for connection.
+ --ssl Enable SSL for connection (automatically enabled with
+ other flags).
+ (Defaults to on; use --skip-ssl to disable.)
+ --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies
+ --ssl).
+ --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl).
+ --ssl-cert=name X509 cert in PEM format (implies --ssl).
+ --ssl-cipher=name SSL cipher to use (implies --ssl).
+ --ssl-key=name X509 key in PEM format (implies --ssl).
+ --ssl-crl=name Certificate revocation list (implies --ssl).
+ --ssl-crlpath=name Certificate revocation list path (implies --ssl).
+ --tls-version=name TLS protocol version for secure connection.
+ --ssl-verify-server-cert
+ Verify server's "Common Name" in its cert against
+ hostname used when connecting. This option is disabled by
+ default.
+ -t, --table Output in table format.
+ --tee=name Append everything into outfile. See interactive help (\h)
+ also. Does not work in batch mode. Disable with
+ --disable-tee. This option is disabled by default.
+ -u, --user=name User for login if not current user.
+ -U, --safe-updates Only allow UPDATE and DELETE that uses keys.
+ -U, --i-am-a-dummy Synonym for option --safe-updates, -U.
+ -v, --verbose Write more. (-v -v -v gives the table output format).
+ -V, --version Output version information and exit.
+ -w, --wait Wait and retry if connection is down.
+ --connect-timeout=# Number of seconds before connection timeout.
+ --max-allowed-packet=#
+ The maximum packet length to send to or receive from
+ server.
+ --net-buffer-length=#
+ The buffer size for TCP/IP and socket communication.
+ --select-limit=# Automatic limit for SELECT when using --safe-updates.
+ --max-join-size=# Automatic limit for rows in a join when using
+ --safe-updates.
+ --secure-auth Refuse client connecting to server if it uses old
+ (pre-4.1.1) protocol.
+ --server-arg=name Send embedded server this as a parameter.
+ --show-warnings Show warnings after every statement.
+ --plugin-dir=name Directory for client-side plugins.
+ --default-auth=name Default authentication client-side plugin to use.
+ --binary-mode Binary mode allows certain character sequences to be
+ processed as data that would otherwise be treated with a
+ special meaning by the parser. Specifically, this switch
+ turns off parsing of all client commands except \C and
+ DELIMITER in non-interactive mode (i.e., when binary mode
+ is combined with either 1) piped input, 2) the --batch
+ mysql option, or 3) the 'source' command). Also, in
+ binary mode, occurrences of '\r\n' and ASCII '\0' are
+ preserved within strings, whereas by default, '\r\n' is
+ translated to '\n' and '\0' is disallowed in user input.
+ --connect-expired-password
+ Notify the server that this client is prepared to handle
+ expired password sandbox mode even if --batch was
+ specified.
+
+Variables (--variable-name=value)
+and boolean options {FALSE|TRUE} Value (after reading options)
+--------------------------------- ----------------------------------------
+abort-source-on-error FALSE
+auto-rehash TRUE
+auto-vertical-output FALSE
+binary-as-hex FALSE
+character-sets-dir (No default value)
+column-type-info FALSE
+comments FALSE
+compress FALSE
+debug-check FALSE
+debug-info FALSE
+database (No default value)
+default-character-set auto
+delimiter ;
+vertical FALSE
+force FALSE
+named-commands FALSE
+ignore-spaces FALSE
+init-command (No default value)
+local-infile FALSE
+no-beep FALSE
+host (No default value)
+html FALSE
+xml FALSE
+line-numbers TRUE
+unbuffered FALSE
+column-names TRUE
+sigint-ignore FALSE
+port 0
+progress-reports TRUE
+prompt \N [\d]>
+protocol
+quick FALSE
+raw FALSE
+reconnect TRUE
+socket /run/mysqld/mysqld.sock
+ssl TRUE
+ssl-ca (No default value)
+ssl-capath (No default value)
+ssl-cert (No default value)
+ssl-cipher (No default value)
+ssl-key (No default value)
+ssl-crl (No default value)
+ssl-crlpath (No default value)
+tls-version (No default value)
+ssl-verify-server-cert FALSE
+table FALSE
+user (No default value)
+safe-updates FALSE
+i-am-a-dummy FALSE
+connect-timeout 0
+max-allowed-packet 16777216
+net-buffer-length 16384
+select-limit 1000
+max-join-size 1000000
+secure-auth FALSE
+show-warnings FALSE
+plugin-dir (No default value)
+default-auth (No default value)
+binary-mode FALSE
+connect-expired-password FALSE
diff --git a/debian/tests/traces/mariadbd-print-defaults.expected b/debian/tests/traces/mariadbd-print-defaults.expected
new file mode 100644
index 00000000..b03f2573
--- /dev/null
+++ b/debian/tests/traces/mariadbd-print-defaults.expected
@@ -0,0 +1,2 @@
+/usr/sbin/mariadbd would have been started with the following arguments:
+--socket=/run/mysqld/mysqld.sock --pid-file=/run/mysqld/mysqld.pid --basedir=/usr --bind-address=127.0.0.1 --expire_logs_days=10 --character-set-server=utf8mb4 --collation-server=utf8mb4_general_ci
diff --git a/debian/tests/traces/mariadbd-verbose-help.expected b/debian/tests/traces/mariadbd-verbose-help.expected
new file mode 100644
index 00000000..c33bf2b2
--- /dev/null
+++ b/debian/tests/traces/mariadbd-verbose-help.expected
@@ -0,0 +1,3110 @@
+Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
+
+Starts the MariaDB database server.
+
+Usage: /usr/sbin/mariadbd [OPTIONS]
+
+Default options are read from the following files in the given order:
+/etc/my.cnf /etc/mysql/my.cnf ~/.my.cnf
+The following groups are read: mysqld server mysqld-10.11 mariadb mariadb-10.11 mariadbd mariadbd-10.11 client-server galera
+The following options may be given as the first argument:
+--print-defaults Print the program argument list and exit.
+--no-defaults Don't read default options from any option file.
+The following specify which files/extra groups are read (specified before remaining options):
+--defaults-file=# Only read default options from the given file #.
+--defaults-extra-file=# Read this file after the global files are read.
+--defaults-group-suffix=# Additionally read default groups with # appended as a suffix.
+
+ --allow-suspicious-udfs
+ Allows use of user-defined functions (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
+ --alter-algorithm[=name]
+ Specify the alter table algorithm. One of: DEFAULT, COPY,
+ INPLACE, NOCOPY, INSTANT
+ --analyze-sample-percentage=#
+ Percentage of rows from the table ANALYZE TABLE will
+ sample to collect table statistics. Set to 0 to let
+ MariaDB decide what percentage of rows to sample.
+ -a, --ansi Use ANSI SQL syntax instead of MySQL syntax. This mode
+ will also set transaction isolation level 'serializable'.
+ --aria-block-size=# Block size to be used for Aria index pages.
+ --aria-checkpoint-interval=#
+ Interval between tries to do an automatic checkpoints. In
+ seconds; 0 means 'no automatic checkpoints' which makes
+ sense only for testing.
+ --aria-checkpoint-log-activity=#
+ Number of bytes that the transaction log has to grow
+ between checkpoints before a new checkpoint is written to
+ the log.
+ --aria-encrypt-tables
+ Encrypt tables (only for tables with ROW_FORMAT=PAGE
+ (default) and not FIXED/DYNAMIC)
+ --aria-force-start-after-recovery-failures=#
+ Number of consecutive log recovery failures after which
+ logs will be automatically deleted to cure the problem; 0
+ (the default) disables the feature.
+ --aria-group-commit=name
+ Specifies Aria group commit mode. Possible values are
+ "none" (no group commit), "hard" (with waiting to actual
+ commit), "soft" (no wait for commit (DANGEROUS!!!))
+ --aria-group-commit-interval=#
+ Interval between commits in microseconds (1/1000000 sec).
+ 0 stands for no waiting for other threads to come and do
+ a commit in "hard" mode and no sync()/commit at all in
+ "soft" mode. Option has only an effect if
+ aria_group_commit is used
+ --aria-log-dir-path=name
+ Path to the directory where to store transactional log
+ --aria-log-file-size=#
+ Limit for transaction log size
+ --aria-log-purge-type=name
+ Specifies how Aria transactional log will be purged. One
+ of: immediate, external, at_flush
+ --aria-max-sort-file-size=#
+ Don't use the fast sort index method to created index if
+ the temporary file would get bigger than this.
+ --aria-page-checksum
+ Maintain page checksums (can be overridden per table with
+ PAGE_CHECKSUM clause in CREATE TABLE)
+ (Defaults to on; use --skip-aria-page-checksum to disable.)
+ --aria-pagecache-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 the page cache.
+ --aria-pagecache-buffer-size=#
+ The size of the buffer used for index blocks for Aria
+ tables. Increase this to get better index handling (for
+ all reads and multiple writes) to as much as you can
+ afford.
+ --aria-pagecache-division-limit=#
+ The minimum percentage of warm blocks in key cache
+ --aria-pagecache-file-hash-size=#
+ Number of hash buckets for open and changed files. If
+ you have a lot of Aria files open you should increase
+ this for faster flush of changes. A good value is
+ probably 1/10 of number of possible open Aria files.
+ --aria-recover-options[=name]
+ Specifies how corrupted tables should be automatically
+ repaired. Any combination of: NORMAL, BACKUP, FORCE,
+ QUICK, OFF
+ Use 'ALL' to set all combinations.
+ --aria-repair-threads=#
+ Number of threads to use when repairing Aria tables. The
+ value of 1 disables parallel repair.
+ --aria-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.
+ --aria-stats-method=name
+ Specifies how Aria index statistics collection code
+ should treat NULLs. One of: nulls_unequal, nulls_equal,
+ nulls_ignored
+ --aria-sync-log-dir=name
+ Controls syncing directory after log file growth and new
+ file creation. One of: NEVER, NEWFILE, ALWAYS
+ --auto-increment-increment[=#]
+ Auto-increment columns are incremented by this
+ --auto-increment-offset[=#]
+ Offset added to Auto-increment columns. Used when
+ auto-increment-increment != 1
+ --autocommit Set default value for autocommit (0 or 1)
+ (Defaults to on; use --skip-autocommit to disable.)
+ --automatic-sp-privileges
+ Creating and dropping stored procedures alters ACLs
+ (Defaults to on; use --skip-automatic-sp-privileges to disable.)
+ --back-log=# The number of outstanding connection requests MariaDB can
+ have. This comes into play when the main MariaDB thread
+ gets very many connection requests in a very short time
+ (Automatically configured unless set explicitly)
+ -b, --basedir=name Path to installation directory. All paths are usually
+ resolved relative to this
+ --big-tables Old variable, which if set to 1, allows large result sets
+ by saving all temporary sets to disk, avoiding 'table
+ full' errors. No longer needed, as the server now handles
+ this automatically.
+ --bind-address=name IP address to bind to. Several addresses may be
+ specified, separated by a comma (,).
+ --binlog-alter-two-phase
+ When set, split ALTER at binary logging into 2
+ statements: START ALTER and COMMIT/ROLLBACK ALTER
+ --binlog-annotate-row-events
+ Tells the master to annotate RBR events with the
+ statement that caused these events
+ (Defaults to on; use --skip-binlog-annotate-row-events to disable.)
+ --binlog-cache-size=#
+ The size of the transactional cache for updates to
+ transactional engines for the binary log. If you often
+ use transactions containing many statements, you can
+ increase this to get more performance
+ --binlog-checksum=name
+ Type of BINLOG_CHECKSUM_ALG. Include checksum for log
+ events in the binary log. One of: NONE, CRC32
+ --binlog-commit-wait-count=#
+ If non-zero, binlog write will wait at most
+ binlog_commit_wait_usec microseconds for at least this
+ many commits to queue up for group commit to the binlog.
+ This can reduce I/O on the binlog and provide increased
+ opportunity for parallel apply on the slave, but too high
+ a value will decrease commit throughput.
+ --binlog-commit-wait-usec=#
+ Maximum time, in microseconds, to wait for more commits
+ to queue up for binlog group commit. Only takes effect if
+ the value of binlog_commit_wait_count is non-zero.
+ --binlog-direct-non-transactional-updates
+ Causes updates to non-transactional engines using
+ statement format to be written directly to binary log.
+ Before using this option make sure that there are no
+ dependencies between transactional and non-transactional
+ tables such as in the statement INSERT INTO t_myisam
+ SELECT * FROM t_innodb; otherwise, slaves may diverge
+ from the master.
+ --binlog-do-db=name Tells the master it should log updates for the specified
+ database, and exclude all others not explicitly
+ mentioned.
+ --binlog-expire-logs-seconds=#
+ If non-zero, binary logs will be purged after
+ binlog_expire_logs_seconds seconds; It and
+ expire_logs_days are linked, such that changes in one are
+ converted into the other. Possible purges happen at
+ startup and at binary log rotation.
+ --binlog-file-cache-size=#
+ The size of file cache for the binary log
+ --binlog-format=name
+ What form of binary logging the master will use: either
+ ROW for row-based binary logging, STATEMENT for
+ statement-based binary logging, or MIXED. MIXED is
+ statement-based binary logging except for those
+ statements where only row-based is correct: those which
+ involve user-defined functions (i.e. UDFs) or the UUID()
+ function; for those, row-based binary logging is
+ automatically used.
+ --binlog-ignore-db=name
+ Tells the master that updates to the given database
+ should not be logged to the binary log.
+ --binlog-optimize-thread-scheduling
+ Run fast part of group commit in a single thread, to
+ optimize kernel thread scheduling. On by default. Disable
+ to run each transaction in group commit in its own
+ thread, which can be slower at very high concurrency.
+ This option is mostly for testing one algorithm versus
+ the other, and it should not normally be necessary to
+ change it.
+ (Defaults to on; use --skip-binlog-optimize-thread-scheduling to disable.)
+ --binlog-row-event-max-size=#
+ 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.
+ --binlog-row-image=name
+ Controls whether rows should be logged in 'FULL',
+ 'NOBLOB' or 'MINIMAL' formats. 'FULL', means that all
+ columns in the before and after image are logged.
+ 'NOBLOB', means that mysqld avoids logging blob columns
+ whenever possible (eg, blob column was not changed or is
+ not part of primary key). 'MINIMAL', means that a PK
+ equivalent (PK columns or full row if there is no PK in
+ the table) is logged in the before image, and only
+ changed columns are logged in the after image. (Default:
+ FULL).
+ --binlog-row-metadata=name
+ Controls whether metadata is logged using FULL , MINIMAL
+ format and NO_LOG.FULL causes all metadata to be logged;
+ MINIMAL means that only metadata actually required by
+ slave is logged; NO_LOG NO metadata will be
+ logged.Default: NO_LOG.
+ --binlog-stmt-cache-size=#
+ The size of the statement cache for updates to
+ non-transactional engines for the binary log. If you
+ often use statements updating a great number of rows, you
+ can increase this to get more performance.
+ --bootstrap Used by mysql installation scripts.
+ --bulk-insert-buffer-size=#
+ Size of tree cache used in bulk insert optimisation. Note
+ that this is a limit per thread!
+ --character-set-client-handshake
+ Don't ignore client side character set value sent during
+ handshake.
+ (Defaults to on; use --skip-character-set-client-handshake to disable.)
+ --character-set-filesystem=name
+ Set the filesystem character set.
+ -C, --character-set-server=name
+ Set the default character set.
+ --character-sets-dir=name
+ Directory where character sets are
+ -r, --chroot=name Chroot mysqld daemon during startup.
+ --collation-server=name
+ Set the default collation.
+ --column-compression-threshold=#
+ Minimum column data length eligible for compression
+ --column-compression-zlib-level=#
+ zlib compression level (1 gives best speed, 9 gives best
+ compression)
+ --column-compression-zlib-strategy=name
+ The strategy parameter is used to tune the compression
+ algorithm. Use the value DEFAULT_STRATEGY for normal
+ data, FILTERED for data produced by a filter (or
+ predictor), HUFFMAN_ONLY to force Huffman encoding only
+ (no string match), or RLE to limit match distances to one
+ (run-length encoding). Filtered data consists mostly of
+ small values with a somewhat random distribution. In this
+ case, the compression algorithm is tuned to compress them
+ better. The effect of FILTERED is to force more Huffman
+ coding and less string matching; it is somewhat
+ intermediate between DEFAULT_STRATEGY and HUFFMAN_ONLY.
+ RLE is designed to be almost as fast as HUFFMAN_ONLY, but
+ give better compression for PNG image data. The strategy
+ parameter only affects the compression ratio but not the
+ correctness of the compressed output even if it is not
+ set appropriately. FIXED prevents the use of dynamic
+ Huffman codes, allowing for a simpler decoder for special
+ applications.
+ --column-compression-zlib-wrap
+ Generate zlib header and trailer and compute adler32
+ check value. It can be used with storage engines that
+ don't provide data integrity verification to detect data
+ corruption.
+ --completion-type=name
+ The transaction completion type. One of: NO_CHAIN, CHAIN,
+ RELEASE
+ --concurrent-insert[=name]
+ Use concurrent insert with MyISAM. One of: NEVER, AUTO,
+ ALWAYS
+ --connect-timeout=# The number of seconds the mysqld server is waiting for a
+ connect packet before responding with 'Bad handshake'
+ --console Write error output on screen; don't remove the console
+ window on windows.
+ --core-file Write core on crashes
+ -h, --datadir=name Path to the database root directory
+ --date-format=name The DATE format (ignored)
+ --datetime-format=name
+ The DATETIME format (ignored)
+ --deadlock-search-depth-long=#
+ Long search depth for the two-step deadlock detection
+ --deadlock-search-depth-short=#
+ Short search depth for the two-step deadlock detection
+ --deadlock-timeout-long=#
+ Long timeout for the two-step deadlock detection (in
+ microseconds)
+ --deadlock-timeout-short=#
+ Short timeout for the two-step deadlock detection (in
+ microseconds)
+ -#, --debug[=name] Built in DBUG debugger. Disabled in this build.
+ --debug-abort-slave-event-count=#
+ Option used by mysql-test for debugging and testing of
+ replication.
+ --debug-disconnect-slave-event-count=#
+ Option used by mysql-test for debugging and testing of
+ replication.
+ -T, --debug-exit-info[=#]
+ Used for debugging. Use at your own risk.
+ --debug-gdb Set up signals usable for debugging.
+ --debug-max-binlog-dump-events=#
+ Option used by mysql-test for debugging and testing of
+ replication.
+ --debug-no-sync Disables system sync calls. Only for running tests or
+ debugging!
+ --debug-no-thread-alarm
+ Disable system thread alarm calls. Disabling it may be
+ useful in debugging or testing, never do it in production
+ --debug-sporadic-binlog-dump-fail
+ Option used by mysql-test for debugging and testing of
+ replication.
+ --default-password-lifetime=#
+ This defines the global password expiration policy. 0
+ means automatic password expiration is disabled. If the
+ value is a positive integer N, the passwords must be
+ changed every N days. This behavior can be overridden
+ using the password expiration options in ALTER USER.
+ --default-regex-flags=name
+ Default flags for the regex library. Any combination of:
+ DOTALL, DUPNAMES, EXTENDED, EXTENDED_MORE, EXTRA,
+ MULTILINE, UNGREEDY
+ Use 'ALL' to set all combinations.
+ --default-storage-engine=name
+ The default storage engine for new tables
+ --default-time-zone=name
+ Set the default time zone.
+ --default-tmp-storage-engine=name
+ The default storage engine for user-created temporary
+ tables
+ --default-week-format=#
+ The default week format used by WEEK() functions
+ --delay-key-write[=name]
+ Specifies how MyISAM tables handles CREATE TABLE
+ DELAY_KEY_WRITE. If set to ON, the default, any DELAY KEY
+ WRITEs are honored. The key buffer is then flushed only
+ when the table closes, speeding up writes. MyISAM tables
+ should be automatically checked upon startup in this
+ case, and --external locking should not be used, as it
+ can lead to index corruption. If set to OFF, DELAY KEY
+ WRITEs are ignored, while if set to ALL, all new opened
+ tables are treated as if created with DELAY KEY WRITEs
+ enabled.
+ --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
+ --des-key-file=name Load keys for des_encrypt() and des_encrypt from given
+ file.
+ --disconnect-on-expired-password
+ This variable controls how the server handles clients
+ that are not aware of the sandbox mode. If enabled, the
+ server disconnects the client, otherwise the server puts
+ the client in a sandbox mode.
+ --div-precision-increment=#
+ Precision of the result of '/' operator will be increased
+ on that value
+ --encrypt-binlog Encrypt binary logs (including relay logs)
+ --encrypt-tmp-disk-tables
+ Encrypt temporary on-disk tables (created as part of
+ query execution)
+ --encrypt-tmp-files Encrypt temporary files (created for filesort, binary log
+ cache, etc)
+ --enforce-storage-engine=name
+ Force the use of a storage engine for new tables
+ --eq-range-index-dive-limit=#
+ The optimizer will use existing index statistics instead
+ of doing index dives for equality ranges if the number of
+ equality ranges for the index is larger than or equal to
+ this number. If set to 0, index dives are always used.
+ --event-scheduler[=name]
+ Enable the event scheduler. Possible values are ON, OFF,
+ and DISABLED (keep the event scheduler completely
+ deactivated, it cannot be activated run-time)
+ --expensive-subquery-limit=#
+ The maximum number of rows a subquery may examine in
+ order to be executed during optimization and used for
+ constant optimization
+ --expire-logs-days=#
+ If non-zero, binary logs will be purged after
+ expire_logs_days days; It and binlog_expire_logs_seconds
+ are linked, such that changes in one are converted into
+ the other, presentable as a decimal value with 1/1000000
+ of the day precision; possible purges happen at startup
+ and at binary log rotation
+ --explicit-defaults-for-timestamp
+ This option causes CREATE TABLE to create all TIMESTAMP
+ columns as NULL with DEFAULT NULL attribute, Without this
+ option, TIMESTAMP columns are NOT NULL and have implicit
+ DEFAULT clauses.
+ (Defaults to on; use --skip-explicit-defaults-for-timestamp to disable.)
+ --external-locking Use system (external) locking (disabled by default).
+ With this option enabled you can run myisamchk to test
+ (not repair) tables while the MySQL server is running.
+ Disable with --skip-external-locking.
+ --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
+ --feedback[=name] Enable or disable FEEDBACK plugin. One of: ON, OFF, FORCE
+ (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --feedback-http-proxy=name
+ Proxy server host:port.
+ --feedback-send-retry-wait=#
+ Wait this many seconds before retrying a failed send.
+ --feedback-send-timeout=#
+ Timeout (in seconds) for the sending the report.
+ --feedback-url=name Space separated URLs to send the feedback report to.
+ --feedback-user-info=name
+ User specified string that will be included in the
+ feedback report.
+ --flashback Setup the server to use flashback. This enables binary
+ log in row mode and will enable extra logging for DDL's
+ needed by flashback feature
+ --flush Flush MyISAM tables to disk between SQL commands
+ --flush-time=# A dedicated thread is created to flush all tables at the
+ given interval
+ --ft-boolean-syntax=name
+ List 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=name
+ Use stopwords from this file instead of built-in list
+ --gdb Set up signals usable for debugging. Deprecated, use
+ --debug-gdb instead.
+ --general-log Log connections and queries to a table or log file.
+ Defaults logging to a file 'hostname'.log or a table
+ mysql.general_logif --log-output=TABLE is used.
+ --general-log-file=name
+ Log connections and queries to given file
+ --getopt-prefix-matching
+ Recognize command-line options by their unambiguos
+ prefixes.
+ (Defaults to on; use --skip-getopt-prefix-matching to disable.)
+ --group-concat-max-len=#
+ The maximum length of the result of function
+ GROUP_CONCAT()
+ --gtid-cleanup-batch-size=#
+ Normally does not need tuning. How many old rows must
+ accumulate in the mysql.gtid_slave_pos table before a
+ background job will be run to delete them. Can be
+ increased to reduce number of commits if using many
+ different engines with --gtid_pos_auto_engines, or to
+ reduce CPU overhead if using a huge number of different
+ gtid_domain_ids. Can be decreased to reduce number of old
+ rows in the table.
+ --gtid-domain-id=# Used with global transaction ID to identify logically
+ independent replication streams. When events can
+ propagate through multiple parallel paths (for example
+ multiple masters), each independent source server must
+ use a distinct domain_id. For simple tree-shaped
+ replication topologies, it can be left at its default, 0.
+ --gtid-ignore-duplicates
+ When set, different master connections in multi-source
+ replication are allowed to receive and process event
+ groups with the same GTID (when using GTID mode). Only
+ one will be applied, any others will be ignored. Within a
+ given replication domain, just the sequence number will
+ be used to decide whether a given GTID has been already
+ applied; this means it is the responsibility of the user
+ to ensure that GTID sequence numbers are strictly
+ increasing.
+ --gtid-pos-auto-engines=name
+ List of engines for which to automatically create a
+ mysql.gtid_slave_pos_ENGINE table, if a transaction using
+ that engine is replicated. This can be used to avoid
+ introducing cross-engine transactions, if engines are
+ used different from that used by table
+ mysql.gtid_slave_pos
+ --gtid-strict-mode Enforce strict seq_no ordering of events in the binary
+ log. Slave stops with an error if it encounters an event
+ that would cause it to generate an out-of-order binlog if
+ executed. When ON the same server-id semisync-replicated
+ transactions that duplicate existing ones in binlog are
+ ignored without error and slave interruption.
+ -?, --help Display this help and exit.
+ --histogram-size=# Number of bytes used for a histogram. If set to 0, no
+ histograms are created by ANALYZE.
+ --histogram-type=name
+ Specifies type of the histograms created by ANALYZE.
+ Possible values are: SINGLE_PREC_HB - single precision
+ height-balanced, DOUBLE_PREC_HB - double precision
+ height-balanced, JSON_HB - height-balanced, stored as
+ JSON.
+ --host-cache-size=# How many host names should be cached to avoid resolving.
+ (Automatically configured unless set explicitly)
+ --idle-readonly-transaction-timeout=#
+ The number of seconds the server waits for read-only idle
+ transaction
+ --idle-transaction-timeout=#
+ The number of seconds the server waits for idle
+ transaction
+ --idle-write-transaction-timeout=#
+ The number of seconds the server waits for write idle
+ transaction
+ --ignore-builtin-innodb
+ Disable initialization of builtin InnoDB plugin
+ --ignore-db-dirs=name
+ Specifies a directory to add to the ignore list when
+ collecting database names from the datadir. Put a blank
+ argument to reset the list accumulated so far.
+ --in-predicate-conversion-threshold=#
+ The minimum number of scalar elements in the value list
+ of IN predicate that triggers its conversion to IN
+ subquery. Set to 0 to disable the conversion.
+ --init-connect=name Command(s) that are executed for each new connection
+ (unless the user has SUPER privilege)
+ --init-file=name Read SQL commands from this file at startup
+ --init-rpl-role=name
+ Set the replication role. One of: MASTER, SLAVE
+ --init-slave=name Command(s) that are executed by a slave server each time
+ the SQL thread starts
+ --innodb[=name] Enable or disable InnoDB plugin. One of: ON, OFF, FORCE
+ (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-adaptive-flushing
+ Attempt flushing dirty pages to avoid IO bursts at
+ checkpoints.
+ (Defaults to on; use --skip-innodb-adaptive-flushing to disable.)
+ --innodb-adaptive-flushing-lwm=#
+ Percentage of log capacity below which no adaptive
+ flushing happens.
+ --innodb-adaptive-hash-index
+ Enable InnoDB adaptive hash index (disabled by default).
+ --innodb-adaptive-hash-index-parts[=#]
+ Number of InnoDB Adaptive Hash Index Partitions (default
+ 8)
+ --innodb-autoextend-increment=#
+ Data file autoextend increment in megabytes
+ --innodb-autoinc-lock-mode=#
+ The AUTOINC lock modes supported by InnoDB: 0 => Old
+ style AUTOINC locking (for backward compatibility); 1 =>
+ New style AUTOINC locking; 2 => No AUTOINC locking
+ (unsafe for SBR)
+ --innodb-buf-dump-status-frequency=#
+ A number between [0, 100] that tells how oftern buffer
+ pool dump status in percentages should be printed. E.g.
+ 10 means that buffer pool dump status is printed when
+ every 10% of number of buffer pool pages are dumped.
+ Default is 0 (only start and end status is printed).
+ --innodb-buffer-page[=name]
+ Enable or disable INNODB_BUFFER_PAGE plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-buffer-page-lru[=name]
+ Enable or disable INNODB_BUFFER_PAGE_LRU plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-buffer-pool-chunk-size=#
+ Size of a single memory chunk for resizing buffer pool.
+ Online buffer pool resizing happens at this granularity.
+ 0 means autosize this variable based on buffer pool size.
+ --innodb-buffer-pool-dump-at-shutdown
+ Dump the buffer pool into a file named
+ @@innodb_buffer_pool_filename
+ (Defaults to on; use --skip-innodb-buffer-pool-dump-at-shutdown to disable.)
+ --innodb-buffer-pool-dump-now
+ Trigger an immediate dump of the buffer pool into a file
+ named @@innodb_buffer_pool_filename
+ --innodb-buffer-pool-dump-pct=#
+ Dump only the hottest N% of each buffer pool, defaults to
+ 25
+ --innodb-buffer-pool-filename=name
+ Filename to/from which to dump/load the InnoDB buffer
+ pool
+ --innodb-buffer-pool-load-abort
+ Abort a currently running load of the buffer pool
+ --innodb-buffer-pool-load-at-startup
+ Load the buffer pool from a file named
+ @@innodb_buffer_pool_filename
+ (Defaults to on; use --skip-innodb-buffer-pool-load-at-startup to disable.)
+ --innodb-buffer-pool-load-now
+ Trigger an immediate load of the buffer pool from a file
+ named @@innodb_buffer_pool_filename
+ --innodb-buffer-pool-size=#
+ The size of the memory buffer InnoDB uses to cache data
+ and indexes of its tables.
+ --innodb-buffer-pool-stats[=name]
+ Enable or disable INNODB_BUFFER_POOL_STATS plugin. One
+ of: ON, OFF, FORCE (don't start if the plugin fails to
+ load), FORCE_PLUS_PERMANENT (like FORCE, but the plugin
+ can not be uninstalled).
+ --innodb-change-buffer-max-size=#
+ Maximum on-disk size of change buffer in terms of
+ percentage of the buffer pool.
+ --innodb-change-buffering=name
+ Buffer changes to secondary indexes.. One of: none,
+ inserts, deletes, changes, purges, all
+ --innodb-checksum-algorithm=name
+ The algorithm InnoDB uses for page checksumming. Possible
+ values are FULL_CRC32 for new files, always use CRC-32C;
+ for old, see CRC32 below; STRICT_FULL_CRC32 for new
+ files, always use CRC-32C; for old, see STRICT_CRC32
+ below; CRC32 write crc32, allow previously used
+ algorithms to match when reading; STRICT_CRC32 write
+ crc32, do not allow other algorithms to match when
+ reading; New files created with full_crc32 are readable
+ by MariaDB 10.4.3+
+ --innodb-cmp[=name] Enable or disable INNODB_CMP plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-cmp-per-index[=name]
+ Enable or disable INNODB_CMP_PER_INDEX plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-cmp-per-index-enabled
+ Enable INFORMATION_SCHEMA.innodb_cmp_per_index, may have
+ negative impact on performance (off by default)
+ --innodb-cmp-per-index-reset[=name]
+ Enable or disable INNODB_CMP_PER_INDEX_RESET plugin. One
+ of: ON, OFF, FORCE (don't start if the plugin fails to
+ load), FORCE_PLUS_PERMANENT (like FORCE, but the plugin
+ can not be uninstalled).
+ --innodb-cmp-reset[=name]
+ Enable or disable INNODB_CMP_RESET plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-cmpmem[=name]
+ Enable or disable INNODB_CMPMEM plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-cmpmem-reset[=name]
+ Enable or disable INNODB_CMPMEM_RESET plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-compression-algorithm[=name]
+ Compression algorithm used on page compression. One of:
+ none, zlib, lz4, lzo, lzma, bzip2, or snappy
+ --innodb-compression-default
+ Is compression the default for new tables
+ --innodb-compression-failure-threshold-pct[=#]
+ If the compression failure rate of a table is greater
+ than this number more padding is added to the pages to
+ reduce the failures. A value of zero implies no padding
+ --innodb-compression-level=#
+ Compression level used for zlib compression. 0 is no
+ compression, 1 is fastest, 9 is best compression and
+ default is 6.
+ --innodb-compression-pad-pct-max[=#]
+ Percentage of empty space on a data page that can be
+ reserved to make the page compressible.
+ --innodb-data-file-path=name
+ Path to individual files and their sizes.
+ --innodb-data-home-dir=name
+ The common part for InnoDB table spaces.
+ --innodb-deadlock-detect
+ Enable/disable InnoDB deadlock detector (default ON). if
+ set to OFF, deadlock detection is skipped, and we rely on
+ innodb_lock_wait_timeout in case of deadlock.
+ (Defaults to on; use --skip-innodb-deadlock-detect to disable.)
+ --innodb-deadlock-report=name
+ How to report deadlocks (if innodb_deadlock_detect=ON)..
+ One of: off, basic, full
+ --innodb-default-encryption-key-id=#
+ Default encryption key id used for table encryption.
+ --innodb-default-row-format=name
+ The default ROW FORMAT for all innodb tables created
+ without explicit ROW_FORMAT. Possible values are
+ REDUNDANT, COMPACT, and DYNAMIC. The ROW_FORMAT value
+ COMPRESSED is not allowed. One of: redundant, compact,
+ dynamic
+ --innodb-defragment Enable/disable InnoDB defragmentation (default FALSE).
+ When set to FALSE, all existing defragmentation will be
+ paused. And new defragmentation command will fail.Paused
+ defragmentation commands will resume when this variable
+ is set to true again.
+ --innodb-defragment-fill-factor=#
+ A number between [0.7, 1] that tells defragmentation how
+ full it should fill a page. Default is 0.9. Number below
+ 0.7 won't make much sense.This variable, together with
+ innodb_defragment_fill_factor_n_recs, is introduced so
+ defragmentation won't pack the page too full and cause
+ page split on the next insert on every page. The variable
+ indicating more defragmentation gain is the one
+ effective.
+ --innodb-defragment-fill-factor-n-recs=#
+ How many records of space defragmentation should leave on
+ the page. This variable, together with
+ innodb_defragment_fill_factor, is introduced so
+ defragmentation won't pack the page too full and cause
+ page split on the next insert on every page. The variable
+ indicating more defragmentation gain is the one
+ effective.
+ --innodb-defragment-frequency=#
+ Do not defragment a single index more than this number of
+ time per second.This controls the number of time
+ defragmentation thread can request X_LOCK on an index.
+ Defragmentation thread will check whether
+ 1/defragment_frequency (s) has passed since it worked on
+ this index last time, and put the index back to the queue
+ if not enough time has passed. The actual frequency can
+ only be lower than this given number.
+ --innodb-defragment-n-pages=#
+ Number of pages considered at once when merging multiple
+ pages to defragment
+ --innodb-defragment-stats-accuracy=#
+ How many defragment stats changes there are before the
+ stats are written to persistent storage. Set to 0 meaning
+ disable defragment stats tracking.
+ --innodb-disable-sort-file-cache
+ Whether to disable OS system file cache for sort I/O
+ --innodb-doublewrite
+ Enable InnoDB doublewrite buffer (enabled by default).
+ Disable with --skip-innodb-doublewrite.
+ (Defaults to on; use --skip-innodb-doublewrite to disable.)
+ --innodb-encrypt-log
+ Enable redo log encryption
+ --innodb-encrypt-tables[=name]
+ Enable encryption for tables. Don't forget to enable
+ --innodb-encrypt-log too. One of: OFF, ON, FORCE
+ --innodb-encrypt-temporary-tables
+ Enrypt the temporary table data.
+ --innodb-encryption-rotate-key-age=#
+ Key rotation - re-encrypt in background all pages that
+ were encrypted with a key that many (or more) versions
+ behind. Value 0 indicates that key rotation is disabled.
+ --innodb-encryption-rotation-iops=#
+ Use this many iops for background key rotation
+ --innodb-encryption-threads=#
+ Number of threads performing background key rotation
+ --innodb-fast-shutdown[=#]
+ Speeds up the shutdown process of the InnoDB storage
+ engine. Possible values are 0, 1 (faster), 2
+ (crash-like), 3 (fastest clean).
+ --innodb-fatal-semaphore-wait-threshold=#
+ Maximum number of seconds that semaphore times out in
+ InnoDB.
+ --innodb-file-per-table
+ Stores each InnoDB table to an .ibd file in the database
+ dir.
+ (Defaults to on; use --skip-innodb-file-per-table to disable.)
+ --innodb-fill-factor=#
+ Percentage of B-tree page filled during bulk insert
+ --innodb-flush-log-at-timeout[=#]
+ Write and flush logs every (n) second.
+ --innodb-flush-log-at-trx-commit[=#]
+ Controls the durability/speed trade-off for commits. Set
+ to 0 (write and flush redo log to disk only once per
+ second), 1 (flush to disk at each commit), 2 (write to
+ log at commit but flush to disk only once per second) or
+ 3 (flush to disk at prepare and at commit, slower and
+ usually redundant). 1 and 3 guarantees that after a
+ crash, committed transactions will not be lost and will
+ be consistent with the binlog and other transactional
+ engines. 2 can get inconsistent and lose transactions if
+ there is a power failure or kernel crash but not if
+ mysqld crashes. 0 has no guarantees in case of crash. 0
+ and 2 can be faster than 1 or 3.
+ --innodb-flush-method=name
+ With which method to flush data.. One of: fsync, O_DSYNC,
+ littlesync, nosync, O_DIRECT, O_DIRECT_NO_FSYNC
+ --innodb-flush-neighbors[=#]
+ Set to 0 (don't flush neighbors from buffer pool), 1
+ (flush contiguous neighbors from buffer pool) or 2 (flush
+ neighbors from buffer pool), when flushing a block
+ --innodb-flush-sync Allow IO bursts at the checkpoints ignoring io_capacity
+ setting.
+ (Defaults to on; use --skip-innodb-flush-sync to disable.)
+ --innodb-flushing-avg-loops=#
+ Number of iterations over which the background flushing
+ is averaged.
+ --innodb-force-primary-key
+ Do not allow creating a table without primary key (off by
+ default)
+ --innodb-force-recovery=#
+ Helps to save your data in case the disk image of the
+ database becomes corrupt. Value 5 can return bogus data,
+ and 6 can permanently corrupt data.
+ --innodb-ft-aux-table=name
+ FTS internal auxiliary table to be checked
+ --innodb-ft-being-deleted[=name]
+ Enable or disable INNODB_FT_BEING_DELETED plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-ft-cache-size=#
+ InnoDB Fulltext search cache size in bytes
+ --innodb-ft-config[=name]
+ Enable or disable INNODB_FT_CONFIG plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-ft-default-stopword[=name]
+ Enable or disable INNODB_FT_DEFAULT_STOPWORD plugin. One
+ of: ON, OFF, FORCE (don't start if the plugin fails to
+ load), FORCE_PLUS_PERMANENT (like FORCE, but the plugin
+ can not be uninstalled).
+ --innodb-ft-deleted[=name]
+ Enable or disable INNODB_FT_DELETED plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-ft-enable-diag-print
+ Whether to enable additional FTS diagnostic printout
+ --innodb-ft-enable-stopword
+ Create FTS index with stopword.
+ (Defaults to on; use --skip-innodb-ft-enable-stopword to disable.)
+ --innodb-ft-index-cache[=name]
+ Enable or disable INNODB_FT_INDEX_CACHE plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-ft-index-table[=name]
+ Enable or disable INNODB_FT_INDEX_TABLE plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-ft-max-token-size=#
+ InnoDB Fulltext search maximum token size in characters
+ --innodb-ft-min-token-size=#
+ InnoDB Fulltext search minimum token size in characters
+ --innodb-ft-num-word-optimize[=#]
+ InnoDB Fulltext search number of words to optimize for
+ each optimize table call
+ --innodb-ft-result-cache-limit=#
+ InnoDB Fulltext search query result cache limit in bytes
+ --innodb-ft-server-stopword-table[=name]
+ The user supplied stopword table name.
+ --innodb-ft-sort-pll-degree=#
+ InnoDB Fulltext search parallel sort degree, will round
+ up to nearest power of 2 number
+ --innodb-ft-total-cache-size=#
+ Total memory allocated for InnoDB Fulltext Search cache
+ --innodb-ft-user-stopword-table[=name]
+ User supplied stopword table name, effective in the
+ session level.
+ --innodb-immediate-scrub-data-uncompressed
+ Enable scrubbing of data
+ --innodb-instant-alter-column-allowed=name
+ File format constraint for ALTER TABLE. One of: never,
+ add_last, add_drop_reorder
+ --innodb-io-capacity=#
+ Number of IOPs the server can do. Tunes the background IO
+ rate
+ --innodb-io-capacity-max=#
+ Limit to which innodb_io_capacity can be inflated.
+ --innodb-lock-wait-timeout=#
+ Timeout in seconds an InnoDB transaction may wait for a
+ lock before being rolled back. The value 100000000 is
+ infinite timeout.
+ --innodb-lock-waits[=name]
+ Enable or disable INNODB_LOCK_WAITS plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-locks[=name]
+ Enable or disable INNODB_LOCKS plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-log-buffer-size=#
+ Redo log buffer size in bytes.
+ --innodb-log-file-buffering
+ Whether the file system cache for ib_logfile0 is enabled
+ --innodb-log-file-size=#
+ Redo log size in bytes.
+ --innodb-log-group-home-dir=name
+ Path to ib_logfile0
+ --innodb-lru-flush-size=#
+ How many pages to flush on LRU eviction
+ --innodb-lru-scan-depth=#
+ How deep to scan LRU to keep it clean
+ --innodb-max-dirty-pages-pct=#
+ Percentage of dirty pages allowed in bufferpool.
+ --innodb-max-dirty-pages-pct-lwm=#
+ Percentage of dirty pages at which flushing kicks in. The
+ value 0 (default) means 'refer to
+ innodb_max_dirty_pages_pct'.
+ --innodb-max-purge-lag=#
+ Desired maximum length of the purge queue (0 = no limit)
+ --innodb-max-purge-lag-delay=#
+ Maximum delay of user threads in micro-seconds
+ --innodb-max-purge-lag-wait=#
+ Wait until History list length is below the specified
+ limit
+ --innodb-max-undo-log-size[=#]
+ Desired maximum UNDO tablespace size in bytes
+ --innodb-metrics[=name]
+ Enable or disable INNODB_METRICS plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-monitor-disable=name
+ Turn off a monitor counter
+ --innodb-monitor-enable=name
+ Turn on a monitor counter
+ --innodb-monitor-reset=name
+ Reset a monitor counter
+ --innodb-monitor-reset-all=name
+ Reset all values for a monitor counter
+ --innodb-numa-interleave
+ Use NUMA interleave memory policy to allocate InnoDB
+ buffer pool.
+ --innodb-old-blocks-pct=#
+ Percentage of the buffer pool to reserve for 'old'
+ blocks.
+ --innodb-old-blocks-time=#
+ Move blocks to the 'new' end of the buffer pool if the
+ first access was at least this many milliseconds ago. The
+ timeout is disabled if 0.
+ --innodb-online-alter-log-max-size=#
+ Maximum modification log file size for online index
+ creation
+ --innodb-open-files=#
+ How many files at the maximum InnoDB keeps open at the
+ same time.
+ --innodb-optimize-fulltext-only
+ Only optimize the Fulltext index of the table
+ --innodb-page-size[=#]
+ Page size to use for all InnoDB tablespaces.
+ --innodb-prefix-index-cluster-optimization
+ Deprecated parameter with no effect
+ (Defaults to on; use --skip-innodb-prefix-index-cluster-optimization to disable.)
+ --innodb-print-all-deadlocks
+ Print all deadlocks to MariaDB error log (off by default)
+ --innodb-purge-batch-size[=#]
+ Number of UNDO log pages to purge in one batch from the
+ history list.
+ --innodb-purge-rseg-truncate-frequency[=#]
+ Deprecated parameter with no effect
+ --innodb-purge-threads[=#]
+ Number of tasks for purging transaction history
+ --innodb-random-read-ahead
+ Whether to use read ahead for random access within an
+ extent.
+ --innodb-read-ahead-threshold=#
+ Number of pages that must be accessed sequentially for
+ InnoDB to trigger a readahead.
+ --innodb-read-io-threads=#
+ Number of background read I/O threads in InnoDB.
+ --innodb-read-only Start InnoDB in read only mode (off by default)
+ --innodb-read-only-compressed
+ Make ROW_FORMAT=COMPRESSED tables read-only
+ --innodb-rollback-on-timeout
+ Roll back the complete transaction on lock wait timeout,
+ for 4.x compatibility (disabled by default)
+ --innodb-sort-buffer-size=#
+ Memory buffer size for index creation
+ --innodb-spin-wait-delay[=#]
+ Maximum delay between polling for a spin lock (4 by
+ default)
+ --innodb-stats-auto-recalc
+ InnoDB automatic recalculation of persistent statistics
+ enabled for all tables unless overridden at table level
+ (automatic recalculation is only done when InnoDB decides
+ that the table has changed too much and needs a new
+ statistics)
+ (Defaults to on; use --skip-innodb-stats-auto-recalc to disable.)
+ --innodb-stats-include-delete-marked
+ Include delete marked records when calculating persistent
+ statistics
+ --innodb-stats-method=name
+ Specifies how InnoDB index statistics collection code
+ should treat NULLs. Possible values are NULLS_EQUAL
+ (default), NULLS_UNEQUAL and NULLS_IGNORED. One of:
+ nulls_equal, nulls_unequal, nulls_ignored
+ --innodb-stats-modified-counter=#
+ The number of rows modified before we calculate new
+ statistics (default 0 = current limits)
+ --innodb-stats-on-metadata
+ Enable statistics gathering for metadata commands such as
+ SHOW TABLE STATUS for tables that use transient
+ statistics (off by default)
+ --innodb-stats-persistent
+ InnoDB persistent statistics enabled for all tables
+ unless overridden at table level
+ (Defaults to on; use --skip-innodb-stats-persistent to disable.)
+ --innodb-stats-persistent-sample-pages=#
+ The number of leaf index pages to sample when calculating
+ persistent statistics (by ANALYZE, default 20)
+ --innodb-stats-traditional
+ Enable traditional statistic calculation based on number
+ of configured pages (default true)
+ (Defaults to on; use --skip-innodb-stats-traditional to disable.)
+ --innodb-stats-transient-sample-pages=#
+ The number of leaf index pages to sample when calculating
+ transient statistics (if persistent statistics are not
+ used, default 8)
+ --innodb-status-file
+ Enable SHOW ENGINE INNODB STATUS output in the
+ innodb_status.<pid> file
+ --innodb-status-output
+ Enable InnoDB monitor output to the error log.
+ --innodb-status-output-locks
+ Enable InnoDB lock monitor output to the error log.
+ Requires innodb_status_output=ON.
+ --innodb-strict-mode
+ Use strict mode when evaluating create options.
+ (Defaults to on; use --skip-innodb-strict-mode to disable.)
+ --innodb-sync-spin-loops=#
+ Count of spin-loop rounds in InnoDB mutexes (30 by
+ default)
+ --innodb-sys-columns[=name]
+ Enable or disable INNODB_SYS_COLUMNS plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-fields[=name]
+ Enable or disable INNODB_SYS_FIELDS plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-foreign[=name]
+ Enable or disable INNODB_SYS_FOREIGN plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-foreign-cols[=name]
+ Enable or disable INNODB_SYS_FOREIGN_COLS plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-indexes[=name]
+ Enable or disable INNODB_SYS_INDEXES plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-tables[=name]
+ Enable or disable INNODB_SYS_TABLES plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-tablespaces[=name]
+ Enable or disable INNODB_SYS_TABLESPACES plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-tablestats[=name]
+ Enable or disable INNODB_SYS_TABLESTATS plugin. One of:
+ ON, OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-sys-virtual[=name]
+ Enable or disable INNODB_SYS_VIRTUAL plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-table-locks
+ Enable InnoDB locking in LOCK TABLES
+ (Defaults to on; use --skip-innodb-table-locks to disable.)
+ --innodb-tablespaces-encryption[=name]
+ Enable or disable INNODB_TABLESPACES_ENCRYPTION plugin.
+ One of: ON, OFF, FORCE (don't start if the plugin fails
+ to load), FORCE_PLUS_PERMANENT (like FORCE, but the
+ plugin can not be uninstalled).
+ --innodb-temp-data-file-path=name
+ Path to files and their sizes making temp-tablespace.
+ --innodb-tmpdir[=name]
+ Directory for temporary non-tablespace files.
+ --innodb-trx[=name] Enable or disable INNODB_TRX plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --innodb-undo-directory=name
+ Directory where undo tablespace files live, this path can
+ be absolute.
+ --innodb-undo-log-truncate
+ Enable or Disable Truncate of UNDO tablespace.
+ --innodb-undo-tablespaces=#
+ Number of undo tablespaces to use.
+ --innodb-use-atomic-writes
+ Enable atomic writes, instead of using the doublewrite
+ buffer, for files on devices that supports atomic writes.
+ (Defaults to on; use --skip-innodb-use-atomic-writes to disable.)
+ --innodb-use-native-aio
+ Use native AIO if supported on this platform.
+ (Defaults to on; use --skip-innodb-use-native-aio to disable.)
+ --innodb-write-io-threads=#
+ Number of background write I/O threads in InnoDB.
+ --interactive-timeout=#
+ The number of seconds the server waits for activity on an
+ interactive connection before closing it
+ --join-buffer-size=#
+ The size of the buffer that is used for joins
+ --join-buffer-space-limit=#
+ The limit of the space for all join buffers used by a
+ query
+ --join-cache-level=#
+ Controls what join operations can be executed with join
+ buffers. Odd numbers are used for plain join buffers
+ while even numbers are used for linked buffers
+ --keep-files-on-create
+ Don'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
+ --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-file-hash-size=#
+ Number of hash buckets for open and changed files. If
+ you have a lot of MyISAM files open you should increase
+ this for faster flush of changes. A good value is
+ probably 1/10 of number of possible open MyISAM files.
+ --key-cache-segments=#
+ The number of segments in a key cache
+ -L, --language=name Client error messages in given language. May be given as
+ a full path. Deprecated. Use --lc-messages-dir instead.
+ --large-pages Enable support for large pages
+ --lc-messages=name Set the language used for the error messages.
+ -L, --lc-messages-dir=name
+ Directory where error messages are
+ --lc-time-names=name
+ Set the language used for the month names and the days of
+ the week.
+ --local-infile Enable LOAD DATA LOCAL INFILE
+ (Defaults to on; use --skip-local-infile to disable.)
+ --lock-wait-timeout=#
+ Timeout in seconds to wait for a lock before returning an
+ error.
+ --log-basename=name 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. Sets
+ names for --log-bin, --log-bin-index, --relay-log,
+ --relay-log-index, --general-log-file,
+ --log-slow-query-file, --log-error-file, and --pid-file
+ --log-bin[=name] Log update queries in binary format. Optional argument
+ should be name for binary log. If not given
+ 'datadir'/'log-basename'-bin or 'datadir'/mysql-bin will
+ be used (the later if --log-basename is not specified).
+ We strongly recommend to use either --log-basename or
+ specify a filename to ensure that replication doesn't
+ stop if the real hostname of the computer changes.
+ --log-bin-compress Whether the binary log can be compressed
+ --log-bin-compress-min-len[=#]
+ Minimum length of sql statement(in statement mode) or
+ record(in row mode)that can be compressed.
+ --log-bin-index=name
+ File that holds the names for last binary log files.
+ --log-bin-trust-function-creators
+ If set to FALSE (the default), then when --log-bin is
+ used, creation of a stored function (or trigger) is
+ allowed only to users having the SUPER privilege and only
+ if this stored function (trigger) may not break binary
+ logging. Note that if ALL connections to this server
+ ALWAYS use row-based binary logging, the security issues
+ do not exist and the binary logging cannot break, so you
+ can safely set this to TRUE
+ --log-ddl-recovery=name
+ Path to file used for recovery of DDL statements after a
+ crash
+ --log-disabled-statements=name
+ Don't log certain types of statements to general log. Any
+ combination of: slave, sp
+ Use 'ALL' to set all combinations.
+ --log-error[=name] Log errors to file (instead of stdout). If file name is
+ not specified then 'datadir'/'log-basename'.err or the
+ 'pid-file' path with extension .err is used
+ --log-isam[=name] Log all MyISAM changes to file.
+ --log-output=name How logs should be written. Any combination of: NONE,
+ FILE, TABLE
+ Use 'ALL' to set all combinations.
+ --log-queries-not-using-indexes
+ Log queries that are executed without benefit of any
+ index to the slow log if it is open. Same as
+ log_slow_filter='not_using_index'
+ --log-short-format Don't log extra information to update and slow-query
+ logs.
+ --log-slave-updates Tells the slave to log the updates from the slave thread
+ to the binary log. You will need to turn it on if you
+ plan to daisy-chain the slaves.
+ --log-slow-admin-statements
+ Log slow OPTIMIZE, ANALYZE, ALTER and other
+ administrative statements to the slow log if it is open.
+ Resets or sets the option 'admin' in
+ log_slow_disabled_statements
+ (Defaults to on; use --skip-log-slow-admin-statements to disable.)
+ --log-slow-disabled-statements=name
+ Don't log certain types of statements to slow log. Any
+ combination of: admin, call, slave, sp
+ Use 'ALL' to set all combinations.
+ --log-slow-filter=name
+ Log only certain types of queries to the slow log. If
+ variable empty all kind of queries are logged. All types
+ are bound by slow_query_time, except 'not_using_index'
+ which is always logged if enabled. Any combination of:
+ admin, filesort, filesort_on_disk,
+ filesort_priority_queue, full_join, full_scan,
+ not_using_index, query_cache, query_cache_miss, tmp_table,
+ tmp_table_on_disk
+ Use 'ALL' to set all combinations.
+ --log-slow-max-warnings=#
+ Max numbers of warnings printed to slow query log per
+ statement
+ --log-slow-min-examined-row-limit=#
+ Don't write queries to slow log that examine fewer rows
+ than that
+ --log-slow-query Log slow queries to a table or log file. Defaults logging
+ to a file 'hostname'-slow.log or a table mysql.slow_log
+ if --log-output=TABLE is used. Must be enabled to
+ activate other slow log options.
+ --log-slow-query-file=name
+ Log slow queries to given log file. Defaults logging to
+ 'hostname'-slow.log. Must be enabled to activate other
+ slow log options
+ --log-slow-query-time=#
+ Log all queries that have taken more than
+ log_slow_query_time seconds to execute to the slow query
+ log file. The argument will be treated as a decimal value
+ with microsecond precision
+ --log-slow-rate-limit=#
+ Write to slow log every #th slow query. Set to 1 to log
+ everything. Increase it to reduce the size of the slow or
+ the performance impact of slow logging
+ --log-slow-slave-statements
+ Log slow statements executed by slave thread to the slow
+ log if it is open. Resets or sets the option 'slave' in
+ log_slow_disabled_statements
+ (Defaults to on; use --skip-log-slow-slave-statements to disable.)
+ --log-slow-verbosity=name
+ Verbosity level for the slow log. Any combination of:
+ innodb, query_plan, explain, engine, warnings, full
+ Use 'ALL' to set all combinations.
+ --log-tc=name Path 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.
+ -W, --log-warnings[=#]
+ Log some not critical warnings to the general log
+ file.Value can be between 0 and 11. Higher values mean
+ more verbosity
+ --long-query-time=# Alias for log_slow_query_time. Log all queries that have
+ taken more than long_query_time seconds to execute to the
+ slow query log file. The argument will be treated as a
+ decimal value with microsecond precision
+ --low-priority-updates
+ INSERT/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-info-file=name
+ The location and name of the file that remembers the
+ master and where the I/O replication thread is in the
+ master's binlogs. Defaults to master.info
+ --master-retry-count=#
+ The number of tries the slave will make to connect to the
+ master before giving up.
+ --master-verify-checksum
+ Force checksum verification of logged events in the
+ binary log before sending them to slaves or printing them
+ in the output of SHOW BINLOG EVENTS
+ --max-allowed-packet=#
+ Max packet length to send to or receive from the server
+ --max-binlog-cache-size=#
+ Sets the total size of the transactional cache
+ --max-binlog-size=# Binary log will be rotated automatically when the size
+ exceeds this value.
+ --max-binlog-stmt-cache-size=#
+ Sets the total size of the statement cache
+ --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-connections=# The number of simultaneous clients allowed
+ --max-delayed-threads=#
+ Don't start more than this number of threads to handle
+ INSERT DELAYED statements. If set to zero INSERT DELAYED
+ will be not used
+ --max-digest-length=#
+ Maximum length considered for digest text.
+ --max-error-count=# Max number of errors/warnings to store for a statement
+ --max-heap-table-size=#
+ Don't allow creation of heap tables bigger than this
+ --max-join-size=# Joins that are probably going to read more than
+ max_join_size records return an error
+ --max-length-for-sort-data=#
+ Max number of bytes in sorted records
+ --max-password-errors=#
+ If there is more than this number of failed connect
+ attempts due to invalid password, user will be blocked
+ from further connections until FLUSH_PRIVILEGES.
+ --max-prepared-stmt-count=#
+ Maximum number of prepared statements in the server
+ --max-recursive-iterations[=#]
+ Maximum number of iterations when executing recursive
+ queries
+ --max-relay-log-size=#
+ relay log will be rotated automatically when the size
+ exceeds this value. If 0 at startup, it's set to
+ max_binlog_size
+ --max-rowid-filter-size=#
+ The maximum size of the container of a rowid filter
+ --max-seeks-for-key=#
+ Limit assumed max number of seeks when looking up rows
+ based on a key
+ --max-session-mem-used=#
+ Amount of memory a single user session is allowed to
+ allocate. This limits the value of the session variable
+ MEM_USED
+ --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)
+ --max-sp-recursion-depth[=#]
+ Maximum stored procedure recursion depth
+ --max-statement-time=#
+ A query that has taken more than max_statement_time
+ seconds will be aborted. The argument will be treated as
+ a decimal value with microsecond precision. A value of 0
+ (default) means no timeout
+ --max-tmp-tables=# Unused, will be removed.
+ --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
+ --memlock Lock mysqld in memory.
+ --metadata-locks-cache-size=#
+ Unused
+ --metadata-locks-hash-instances=#
+ Unused
+ --min-examined-row-limit=#
+ Alias for log_slow_min_examined_row_limit. Don't write
+ queries to slow log that examine fewer rows than that
+ --mrr-buffer-size=# Size of buffer to use when using MRR with range access
+ --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=#
+ Restricts the total memory used for memory mapping of
+ MySQL tables
+ --myisam-recover-options[=name]
+ Specifies how corrupted tables should be automatically
+ repaired. Any combination of: DEFAULT, BACKUP, FORCE,
+ QUICK, BACKUP_ALL, OFF
+ Use 'ALL' to set all combinations.
+ --myisam-repair-threads=#
+ If larger than 1, when repairing a MyISAM table all
+ indexes will be created in parallel, with one thread 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=name
+ Specifies how MyISAM index statistics collection code
+ should treat NULLs. Possible values of name are
+ NULLS_UNEQUAL (default behavior for 4.1 and later),
+ NULLS_EQUAL (emulate 4.0 behavior), and NULLS_IGNORED
+ --myisam-use-mmap Use memory mapping for reading and writing MyISAM tables
+ --mysql56-temporal-format
+ Use MySQL-5.6 (instead of MariaDB-5.3) format for TIME,
+ DATETIME, TIMESTAMP columns.
+ (Defaults to on; use --skip-mysql56-temporal-format to disable.)
+ --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
+ --note-verbosity=name
+ Verbosity level for note-warnings given to the user. See
+ also @@sql_notes.. Any combination of: basic,
+ unusable_keys, explain
+ Use 'ALL' to set all combinations.
+ --old Use compatible behavior from previous MariaDB version.
+ See also --old-mode
+ --old-alter-table[=name]
+ Alias for alter_algorithm. Deprecated. Use
+ --alter-algorithm instead.. One of: DEFAULT, COPY,
+ INPLACE, NOCOPY, INSTANT
+ --old-mode=name Used to emulate old behavior from earlier MariaDB or
+ MySQL versions. Any combination of:
+ NO_DUP_KEY_WARNINGS_WITH_IGNORE, NO_PROGRESS_INFO,
+ ZERO_DATE_TIME_CAST, UTF8_IS_UTF8MB3,
+ IGNORE_INDEX_ONLY_FOR_JOIN, COMPAT_5_1_CHECKSUM
+ Use 'ALL' to set all combinations.
+ --old-passwords Use old password encryption method (needed for 4.0 and
+ older clients)
+ --old-style-user-limits
+ Enable old-style user limits (before 5.0.3, user
+ resources were counted per each user+host vs. per
+ account).
+ --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 or autoset then mysqld will reserve
+ max_connections*5 or max_connections + table_cache*2
+ (whichever is larger) number of file descriptors
+ (Automatically configured unless set explicitly)
+ --optimizer-extra-pruning-depth=#
+ If the optimizer needs to enumerate join prefix of this
+ size or larger, then it will try aggressively prune away
+ the search space.
+ --optimizer-max-sel-arg-weight=#
+ The maximum weight of the SEL_ARG graph. Set to 0 for no
+ limit
+ --optimizer-max-sel-args=#
+ The maximum number of SEL_ARG objects created when
+ optimizing a range. If more objects would be needed, the
+ range will not be used by the optimizer.
+ --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 cost and number of retrieved rows eq_ref:
+ 2 - prune also if we find an eq_ref chain
+ --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. Values smaller 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.
+ --optimizer-selectivity-sampling-limit=#
+ Controls number of record samples to check condition
+ selectivity
+ --optimizer-switch=name
+ Fine-tune the optimizer behavior. Takes a comma-separated
+ list of option=value pairs, where value is on, off, or
+ default, and options are: index_merge, index_merge_union,
+ index_merge_sort_union, index_merge_intersection,
+ index_merge_sort_intersection, engine_condition_pushdown,
+ index_condition_pushdown, derived_merge,
+ derived_with_keys, firstmatch, loosescan, materialization,
+ in_to_exists, semijoin, partial_match_rowid_merge,
+ partial_match_table_scan, subquery_cache, mrr,
+ mrr_cost_based, mrr_sort_keys, outer_join_with_cache,
+ semijoin_with_cache, join_cache_incremental,
+ join_cache_hashed, join_cache_bka,
+ optimize_join_buffer_size, table_elimination,
+ extended_keys, exists_to_in, orderby_uses_equalities,
+ condition_pushdown_for_derived, split_materialized,
+ condition_pushdown_for_subquery, rowid_filter,
+ condition_pushdown_from_having, not_null_range_scan,
+ hash_join_cardinality, cset_narrowing
+ --optimizer-trace=name
+ Controls tracing of the Optimizer:
+ optimizer_trace=option=val[,option=val...], where option
+ is one of {enabled} and val is one of {on, off, default}
+ --optimizer-trace-max-mem-size=#
+ Maximum allowed size of an optimizer trace
+ --optimizer-use-condition-selectivity=#
+ Controls selectivity of which conditions the optimizer
+ takes into account to calculate cardinality of a partial
+ join when it searches for the best execution plan
+ Meaning: 1 - use selectivity of index backed range
+ conditions to calculate the cardinality of a partial join
+ if the last joined table is accessed by full table scan
+ or an index scan, 2 - use selectivity of index backed
+ range conditions to calculate the cardinality of a
+ partial join in any case, 3 - additionally always use
+ selectivity of range conditions that are not backed by
+ any index to calculate the cardinality of a partial join,
+ 4 - use histograms to calculate selectivity of range
+ conditions that are not backed by any index to calculate
+ the cardinality of a partial join.5 - additionally use
+ selectivity of certain non-range predicates calculated on
+ record samples
+ --partition[=name] Enable or disable partition plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --performance-schema
+ Enable the performance schema.
+ --performance-schema-accounts-size=#
+ Maximum number of instrumented user@host accounts. Use 0
+ to disable, -1 for automated sizing.
+ --performance-schema-consumer-events-stages-current
+ Default startup value for the events_stages_current
+ consumer.
+ --performance-schema-consumer-events-stages-history
+ Default startup value for the events_stages_history
+ consumer.
+ --performance-schema-consumer-events-stages-history-long
+ Default startup value for the events_stages_history_long
+ consumer.
+ --performance-schema-consumer-events-statements-current
+ Default startup value for the events_statements_current
+ consumer.
+ --performance-schema-consumer-events-statements-history
+ Default startup value for the events_statements_history
+ consumer.
+ --performance-schema-consumer-events-statements-history-long
+ Default startup value for the
+ events_statements_history_long consumer.
+ --performance-schema-consumer-events-transactions-current
+ Default startup value for the events_transactions_current
+ consumer.
+ --performance-schema-consumer-events-transactions-history
+ Default startup value for the events_transactions_history
+ consumer.
+ --performance-schema-consumer-events-transactions-history-long
+ Default startup value for the
+ events_transactions_history_long consumer.
+ --performance-schema-consumer-events-waits-current
+ Default startup value for the events_waits_current
+ consumer.
+ --performance-schema-consumer-events-waits-history
+ Default startup value for the events_waits_history
+ consumer.
+ --performance-schema-consumer-events-waits-history-long
+ Default startup value for the events_waits_history_long
+ consumer.
+ --performance-schema-consumer-global-instrumentation
+ Default startup value for the global_instrumentation
+ consumer.
+ (Defaults to on; use --skip-performance-schema-consumer-global-instrumentation to disable.)
+ --performance-schema-consumer-statements-digest
+ Default startup value for the statements_digest consumer.
+ (Defaults to on; use --skip-performance-schema-consumer-statements-digest to disable.)
+ --performance-schema-consumer-thread-instrumentation
+ Default startup value for the thread_instrumentation
+ consumer.
+ (Defaults to on; use --skip-performance-schema-consumer-thread-instrumentation to disable.)
+ --performance-schema-digests-size=#
+ Size of the statement digest. Use 0 to disable, -1 for
+ automated sizing.
+ --performance-schema-events-stages-history-long-size=#
+ Number of rows in EVENTS_STAGES_HISTORY_LONG. Use 0 to
+ disable, -1 for automated sizing.
+ --performance-schema-events-stages-history-size=#
+ Number of rows per thread in EVENTS_STAGES_HISTORY. Use 0
+ to disable, -1 for automated sizing.
+ --performance-schema-events-statements-history-long-size=#
+ Number of rows in EVENTS_STATEMENTS_HISTORY_LONG. Use 0
+ to disable, -1 for automated sizing.
+ --performance-schema-events-statements-history-size=#
+ Number of rows per thread in EVENTS_STATEMENTS_HISTORY.
+ Use 0 to disable, -1 for automated sizing.
+ --performance-schema-events-transactions-history-long-size=#
+ Number of rows in EVENTS_TRANSACTIONS_HISTORY_LONG. Use 0
+ to disable, -1 for automated sizing.
+ --performance-schema-events-transactions-history-size=#
+ Number of rows per thread in EVENTS_TRANSACTIONS_HISTORY.
+ Use 0 to disable, -1 for automated sizing.
+ --performance-schema-events-waits-history-long-size=#
+ Number of rows in EVENTS_WAITS_HISTORY_LONG. Use 0 to
+ disable, -1 for automated sizing.
+ --performance-schema-events-waits-history-size=#
+ Number of rows per thread in EVENTS_WAITS_HISTORY. Use 0
+ to disable, -1 for automated sizing.
+ --performance-schema-hosts-size=#
+ Maximum number of instrumented hosts. Use 0 to disable,
+ -1 for automated sizing.
+ --performance-schema-instrument[=name]
+ Default startup value for a performance schema
+ instrument.
+ --performance-schema-max-cond-classes=#
+ Maximum number of condition instruments.
+ --performance-schema-max-cond-instances=#
+ Maximum number of instrumented condition objects. Use 0
+ to disable, -1 for automated sizing.
+ --performance-schema-max-digest-length=#
+ Maximum length considered for digest text, when stored in
+ performance_schema tables.
+ --performance-schema-max-file-classes=#
+ Maximum number of file instruments.
+ --performance-schema-max-file-handles=#
+ Maximum number of opened instrumented files.
+ --performance-schema-max-file-instances=#
+ Maximum number of instrumented files. Use 0 to disable,
+ -1 for automated sizing.
+ --performance-schema-max-index-stat=#
+ Maximum number of index statistics for instrumented
+ tables. Use 0 to disable, -1 for automated scaling.
+ --performance-schema-max-memory-classes=#
+ Maximum number of memory pool instruments.
+ --performance-schema-max-metadata-locks=#
+ Maximum number of metadata locks. Use 0 to disable, -1
+ for automated scaling.
+ --performance-schema-max-mutex-classes=#
+ Maximum number of mutex instruments.
+ --performance-schema-max-mutex-instances=#
+ Maximum number of instrumented MUTEX objects. Use 0 to
+ disable, -1 for automated sizing.
+ --performance-schema-max-prepared-statements-instances=#
+ Maximum number of instrumented prepared statements. Use 0
+ to disable, -1 for automated scaling.
+ --performance-schema-max-program-instances=#
+ Maximum number of instrumented programs. Use 0 to
+ disable, -1 for automated scaling.
+ --performance-schema-max-rwlock-classes=#
+ Maximum number of rwlock instruments.
+ --performance-schema-max-rwlock-instances=#
+ Maximum number of instrumented RWLOCK objects. Use 0 to
+ disable, -1 for automated sizing.
+ --performance-schema-max-socket-classes=#
+ Maximum number of socket instruments.
+ --performance-schema-max-socket-instances=#
+ Maximum number of opened instrumented sockets. Use 0 to
+ disable, -1 for automated sizing.
+ --performance-schema-max-sql-text-length=#
+ Maximum length of displayed sql text.
+ --performance-schema-max-stage-classes=#
+ Maximum number of stage instruments.
+ --performance-schema-max-statement-classes=#
+ Maximum number of statement instruments.
+ --performance-schema-max-statement-stack=#
+ Number of rows per thread in EVENTS_STATEMENTS_CURRENT.
+ --performance-schema-max-table-handles=#
+ Maximum number of opened instrumented tables. Use 0 to
+ disable, -1 for automated sizing.
+ --performance-schema-max-table-instances=#
+ Maximum number of instrumented tables. Use 0 to disable,
+ -1 for automated sizing.
+ --performance-schema-max-table-lock-stat=#
+ Maximum number of lock statistics for instrumented
+ tables. Use 0 to disable, -1 for automated scaling.
+ --performance-schema-max-thread-classes=#
+ Maximum number of thread instruments.
+ --performance-schema-max-thread-instances=#
+ Maximum number of instrumented threads. Use 0 to disable,
+ -1 for automated sizing.
+ --performance-schema-session-connect-attrs-size=#
+ Size of session attribute string buffer per thread. Use 0
+ to disable, -1 for automated sizing.
+ --performance-schema-setup-actors-size=#
+ Maximum number of rows in SETUP_ACTORS.
+ --performance-schema-setup-objects-size=#
+ Maximum number of rows in SETUP_OBJECTS.
+ --performance-schema-users-size=#
+ Maximum number of instrumented users. Use 0 to disable,
+ -1 for automated sizing.
+ --pid-file=name Pid file used by safe_mysqld
+ --plugin-dir=name Directory for plugins
+ --plugin-load=name Semicolon-separated list of plugins to load, where each
+ plugin is specified as ether a plugin_name=library_file
+ pair or only a library_file. If the latter case, all
+ plugins from a given library_file will be loaded.
+ --plugin-load-add=name
+ Optional semicolon-separated list of plugins to load.
+ This option adds to the list specified by --plugin-load
+ in an incremental way. It can be specified many times,
+ adding more plugins every time.
+ --plugin-maturity=name
+ The lowest desirable plugin maturity. Plugins less mature
+ than that will not be installed or loaded. One of:
+ unknown, experimental, alpha, beta, gamma, stable
+ -P, --port=# Port number to use for connection or 0 to default to,
+ my.cnf, $MYSQL_TCP_PORT, /etc/services, built-in default
+ (3306), whatever comes first
+ --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=#
+ Number of statements about which profiling information is
+ maintained. If set to 0, no profiles are stored. See SHOW
+ PROFILES.
+ --progress-report-time=#
+ Seconds between sending progress reports to the client
+ for time-consuming statements. Set to 0 to disable
+ progress reporting.
+ --proxy-protocol-networks=name
+ Enable proxy protocol for these source networks. The
+ syntax is a comma separated list of IPv4 and IPv6
+ networks. If the network doesn't contain mask, it is
+ considered to be a single host. "*" represents all
+ networks and must the only directive on the line. String
+ "localhost" represents non-TCP local connections (Unix
+ domain socket, Windows named pipe or shared memory).
+ --query-alloc-block-size=#
+ Allocation block size for query parsing and execution
+ --query-cache-limit=#
+ Don't cache results that are bigger than this
+ --query-cache-min-res-unit=#
+ The minimum size for blocks allocated by the query cache
+ --query-cache-size=#
+ The memory allocated to store results from old queries
+ --query-cache-strip-comments
+ Strip all comments from a query before storing it in the
+ query cache
+ --query-cache-type=name
+ OFF = Don't cache or retrieve results. ON = Cache all
+ results except SELECT SQL_NO_CACHE ... queries. DEMAND =
+ Cache only SELECT SQL_CACHE ... queries
+ --query-cache-wlock-invalidate
+ Invalidate queries in query cache on LOCK for write
+ --query-prealloc-size=#
+ Persistent buffer for query parsing and execution
+ --range-alloc-block-size=#
+ Allocation block size for storing ranges during
+ optimization
+ --read-binlog-speed-limit=#
+ Maximum speed(KB/s) to read binlog from master (0 = no
+ limit)
+ --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
+ --read-only Make all non-temporary tables read-only, with the
+ exception for replication (slave) threads and users with
+ the 'READ ONLY ADMIN' privilege
+ --read-rnd-buffer-size=#
+ When reading rows in sorted order after a sort, the rows
+ are read through this buffer to avoid a disk seeks
+ --relay-log=name The location and name to use for relay logs.
+ --relay-log-index=name
+ The location and name to use for the file that keeps a
+ list of the last relay logs
+ --relay-log-info-file=name
+ The location and name of the file that remembers where
+ the SQL replication thread is in the relay logs.
+ --relay-log-purge if disabled - do not purge relay logs. if enabled - purge
+ them as soon as they are no more needed.
+ (Defaults to on; use --skip-relay-log-purge to disable.)
+ --relay-log-recovery
+ Enables automatic relay log recovery right after the
+ database startup, which means that the IO Thread starts
+ re-fetching from the master right after the last
+ transaction processed.
+ --relay-log-space-limit=#
+ Maximum space to use for all relay logs
+ --replicate-annotate-row-events
+ Tells the slave to write annotate rows events received
+ from the master to its own binary log. Ignored if
+ log_slave_updates is not set
+ (Defaults to on; use --skip-replicate-annotate-row-events to disable.)
+ --replicate-do-db=name
+ Tells 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.%.
+ --replicate-do-table=name
+ Tells 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.
+ --replicate-events-marked-for-skip=name
+ Whether the slave should replicate events that were
+ created with @@skip_replication=1 on the master. Default
+ REPLICATE (no events are skipped). Other values are
+ FILTER_ON_SLAVE (events will be sent by the master but
+ ignored by the slave) and FILTER_ON_MASTER (events marked
+ with @@skip_replication=1 will be filtered on the master
+ and never be sent to the slave).
+ --replicate-ignore-db=name
+ Tells 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 3.23.28 or later, and use
+ replicate-wild-ignore-table=db_name.%.
+ --replicate-ignore-table=name
+ Tells 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.
+ --replicate-rewrite-db=name
+ Updates to a database with a different name than the
+ original. Example:
+ replicate-rewrite-db=master_db_name->slave_db_name.
+ --replicate-same-server-id
+ In 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=name
+ Tells 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.
+ --replicate-wild-ignore-table=name
+ Tells 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.
+ --report-host=name Hostname 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 off 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
+ The account password of the slave to be reported to the
+ master during slave registration
+ --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 The account user name of the slave to be reported to the
+ master during slave registration
+ --require-secure-transport
+ When this option is enabled, connections attempted using
+ insecure transport will be rejected. Secure transports
+ are SSL/TLS, Unix sockets or named pipes.
+ --rowid-merge-buff-size=#
+ The size of the buffers used [NOT] IN evaluation via
+ partial matching
+ --rpl-semi-sync-master-enabled
+ Enable semi-synchronous replication master (disabled by
+ default).
+ --rpl-semi-sync-master-timeout=#
+ The timeout value (in ms) for semi-synchronous
+ replication in the master
+ --rpl-semi-sync-master-trace-level=#
+ The tracing level for semi-sync replication.
+ --rpl-semi-sync-master-wait-no-slave
+ Wait until timeout when no semi-synchronous replication
+ slave available (enabled by default).
+ (Defaults to on; use --skip-rpl-semi-sync-master-wait-no-slave to disable.)
+ --rpl-semi-sync-master-wait-point=name
+ Should transaction wait for semi-sync ack after having
+ synced binlog, or after having committed in storage
+ engine.. One of: AFTER_SYNC, AFTER_COMMIT
+ --rpl-semi-sync-slave-delay-master
+ Only write master info file when ack is needed.
+ --rpl-semi-sync-slave-enabled
+ Enable semi-synchronous replication slave (disabled by
+ default).
+ --rpl-semi-sync-slave-kill-conn-timeout[=#]
+ Timeout for the mysql connection used to kill the slave
+ io_thread's connection on master. This timeout comes into
+ play when stop slave is executed.
+ --rpl-semi-sync-slave-trace-level=#
+ The tracing level for semi-sync replication.
+ --safe-mode Skip some optimize stages (for testing). Deprecated.
+ --safe-user-create Don't allow new user creation by the user who has no
+ write privileges to the mysql.user table.
+ --secure-auth Disallow authentication for accounts that have old
+ (pre-4.1) passwords
+ (Defaults to on; use --skip-secure-auth to disable.)
+ --secure-file-priv=name
+ Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to
+ files within specified directory
+ --secure-timestamp=name
+ Restricts direct setting of a session timestamp. Possible
+ levels are: YES - timestamp cannot deviate from the
+ system clock, REPLICATION - replication thread can adjust
+ timestamp to match the master's, SUPER - a user with this
+ privilege and a replication thread can adjust timestamp,
+ NO - historical behavior, anyone can modify session
+ timestamp
+ --sequence[=name] Enable or disable SEQUENCE plugin. One of: ON, OFF, FORCE
+ (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --server-id=# Uniquely identifies the server instance in the community
+ of replication partners
+ --session-track-schema
+ Track changes to the default schema.
+ (Defaults to on; use --skip-session-track-schema to disable.)
+ --session-track-state-change
+ Track changes to the session state.
+ --session-track-system-variables=name
+ Track changes in registered system variables.
+ --session-track-transaction-info=name
+ Track changes to the transaction attributes. OFF to
+ disable; STATE to track just transaction state (Is there
+ an active transaction? Does it have any data? etc.);
+ CHARACTERISTICS to track transaction state and report all
+ statements needed to start a transaction with the same
+ characteristics (isolation level, read only/read
+ write,snapshot - but not any work done / data modified
+ within the transaction).
+ --show-slave-auth-info
+ Show user and password in SHOW SLAVE HOSTS on this
+ master.
+ --silent-startup Don't print [Note] to the error log during startup.
+ --skip-grant-tables Start without grant tables. This gives all users FULL
+ ACCESS to all tables.
+ --skip-host-cache Don't cache host names.
+ --skip-name-resolve Don't resolve hostnames. All hostnames are IP's or
+ 'localhost'.
+ --skip-networking Don't allow connection with TCP/IP
+ --skip-show-database
+ Don't allow 'SHOW DATABASE' commands
+ --skip-slave-start If set, slave is not autostarted.
+ --slave-compressed-protocol
+ Use compression on master/slave protocol
+ --slave-ddl-exec-mode=name
+ How replication events should be executed. Legal values
+ are STRICT and IDEMPOTENT (default). In IDEMPOTENT mode,
+ replication will not stop for DDL operations that are
+ idempotent. This means that CREATE TABLE is treated as
+ CREATE TABLE OR REPLACE and DROP TABLE is treated as DROP
+ TABLE IF EXISTS.
+ --slave-domain-parallel-threads=#
+ Maximum number of parallel threads to use on slave for
+ events in a single replication domain. When using
+ multiple domains, this can be used to limit a single
+ domain from grabbing all threads and thus stalling other
+ domains. The default of 0 means to allow a domain to grab
+ as many threads as it wants, up to the value of
+ slave_parallel_threads.
+ --slave-exec-mode=name
+ 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. For example, in row based replication
+ attempts to delete rows that doesn't exist will be
+ ignored. In STRICT mode, replication will stop on any
+ unexpected difference between the master and the slave.
+ --slave-load-tmpdir=name
+ The location where the slave should put its temporary
+ files when replicating a LOAD DATA INFILE command
+ --slave-max-allowed-packet=#
+ The maximum packet length to sent successfully from the
+ master to slave.
+ --slave-max-statement-time=#
+ A query that has taken more than slave_max_statement_time
+ seconds to run on the slave will be aborted. The argument
+ will be treated as a decimal value with microsecond
+ precision. A value of 0 (default) means no timeout
+ --slave-net-timeout=#
+ Number of seconds to wait for more data from any
+ master/slave connection before aborting the read
+ --slave-parallel-max-queued=#
+ Limit on how much memory SQL threads should use per
+ parallel replication thread when reading ahead in the
+ relay log looking for opportunities for parallel
+ replication. Only used when --slave-parallel-threads > 0.
+ --slave-parallel-mode=name
+ Controls what transactions are applied in parallel when
+ using --slave-parallel-threads. Possible values:
+ "optimistic" tries to apply most transactional DML in
+ parallel, and handles any conflicts with rollback and
+ retry. "conservative" limits parallelism in an effort to
+ avoid any conflicts. "aggressive" tries to maximise the
+ parallelism, possibly at the cost of increased conflict
+ rate. "minimal" only parallelizes the commit steps of
+ transactions. "none" disables parallel apply completely.
+ --slave-parallel-threads=#
+ If non-zero, number of threads to spawn to apply in
+ parallel events on the slave that were group-committed on
+ the master or were logged with GTID in different
+ replication domains. Note that these threads are in
+ addition to the IO and SQL threads, which are always
+ created by a replication slave
+ --slave-parallel-workers=#
+ Alias for slave_parallel_threads
+ --slave-run-triggers-for-rbr=name
+ Modes for how triggers in row-base replication on slave
+ side will be executed. Legal values are NO (default),
+ YES, LOGGING and ENFORCE. NO means that trigger for RBR
+ will not be running on slave. YES and LOGGING means that
+ triggers will be running on slave, if there was not
+ triggers running on the master for the statement. LOGGING
+ also means results of that the executed triggers work
+ will be written to the binlog. ENFORCE means that
+ triggers will always be run on the slave, even if there
+ are triggers on the master. ENFORCE implies LOGGING.
+ --slave-skip-errors=name
+ Tells the slave thread to continue replication when a
+ query event returns an error from the provided list
+ --slave-sql-verify-checksum
+ Force checksum verification of replication events after
+ reading them from relay log. Note: Events are always
+ checksum-verified by slave on receiving them from the
+ network before writing them to the relay log
+ (Defaults to on; use --skip-slave-sql-verify-checksum to disable.)
+ --slave-transaction-retries=#
+ Number of times the slave SQL thread will retry a
+ transaction in case it failed with a deadlock, elapsed
+ lock wait timeout or listed in
+ slave_transaction_retry_errors, before giving up and
+ stopping
+ --slave-transaction-retry-errors=name
+ Tells the slave thread to retry transaction for
+ replication when a query event returns an error from the
+ provided list. Deadlock error, elapsed lock wait timeout,
+ net read error, net read timeout, net write error, net
+ write timeout, connect error and 2 types of lost
+ connection error are automatically added to this list
+ --slave-transaction-retry-interval=#
+ Interval of the slave SQL thread will retry a transaction
+ in case it failed with a deadlock or elapsed lock wait
+ timeout or listed in slave_transaction_retry_errors
+ --slave-type-conversions=name
+ Set of slave type conversions that are enabled. If the
+ variable is empty, no conversions are allowed and it is
+ expected that the types match exactly. Any combination
+ of: ALL_LOSSY, ALL_NON_LOSSY
+ Use 'ALL' to set all combinations.
+ --slow-launch-time=#
+ If creating the thread takes longer than this value (in
+ seconds), the Slow_launch_threads counter will be
+ incremented
+ --slow-query-log Alias for log_slow_query. Log slow queries to a table or
+ log file. Defaults logging to a file 'hostname'-slow.log
+ or a table mysql.slow_log if --log-output=TABLE is used.
+ Must be enabled to activate other slow log options.
+ --slow-query-log-file=name
+ Alias for log_slow_query_file. Log slow queries to given
+ log file. Defaults logging to 'hostname'-slow.log. Must
+ be enabled to activate other slow log options
+ --socket=name Socket file to use for connection
+ --sort-buffer-size=#
+ Each thread that needs to do a sort allocates a buffer of
+ this size
+ --sql-mode=name Sets the sql mode. Any combination of: REAL_AS_FLOAT,
+ PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE,
+ IGNORE_BAD_TABLE_OPTIONS, ONLY_FULL_GROUP_BY,
+ NO_UNSIGNED_SUBTRACTION, NO_DIR_IN_CREATE, POSTGRESQL,
+ ORACLE, MSSQL, DB2, MAXDB, NO_KEY_OPTIONS,
+ NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, MYSQL323, MYSQL40,
+ ANSI, NO_AUTO_VALUE_ON_ZERO, NO_BACKSLASH_ESCAPES,
+ STRICT_TRANS_TABLES, STRICT_ALL_TABLES, NO_ZERO_IN_DATE,
+ NO_ZERO_DATE, ALLOW_INVALID_DATES,
+ ERROR_FOR_DIVISION_BY_ZERO, TRADITIONAL,
+ NO_AUTO_CREATE_USER, HIGH_NOT_PRECEDENCE,
+ NO_ENGINE_SUBSTITUTION, PAD_CHAR_TO_FULL_LENGTH,
+ EMPTY_STRING_IS_NULL, SIMULTANEOUS_ASSIGNMENT,
+ TIME_ROUND_FRACTIONAL
+ Use 'ALL' to set all combinations.
+ --sql-safe-updates If set to 1, UPDATEs and DELETEs need either a key in the
+ WHERE clause, or a LIMIT clause, or else they will
+ aborted. Prevents the common mistake of accidentally
+ deleting or updating every row in a table.
+ --ssl Enable SSL for connection (automatically enabled if an
+ ssl option is used).
+ --ssl-ca=name CA file in PEM format (check OpenSSL docs, implies --ssl)
+ --ssl-capath=name CA directory (check OpenSSL docs, implies --ssl)
+ --ssl-cert=name X509 cert in PEM format (implies --ssl)
+ --ssl-cipher=name SSL cipher to use (implies --ssl)
+ --ssl-crl=name CRL file in PEM format (check OpenSSL docs, implies
+ --ssl)
+ --ssl-crlpath=name CRL directory (check OpenSSL docs, implies --ssl)
+ --ssl-key=name X509 key in PEM format (implies --ssl)
+ --stack-trace Print a symbolic stack trace on failure
+ (Defaults to on; use --skip-stack-trace to disable.)
+ --standard-compliant-cte
+ Allow only CTEs compliant to SQL standard
+ (Defaults to on; use --skip-standard-compliant-cte to disable.)
+ --stored-program-cache=#
+ The soft upper limit for number of cached stored routines
+ for one connection.
+ --strict-password-validation
+ When password validation plugins are enabled, reject
+ passwords that cannot be validated (passwords specified
+ as a hash)
+ (Defaults to on; use --skip-strict-password-validation to disable.)
+ -s, --symbolic-links
+ Enable symbolic link support.
+ (Defaults to on; use --skip-symbolic-links to disable.)
+ --sync-binlog=# Synchronously flush binary log to disk after every #th
+ event. Use 0 (default) to disable synchronous flushing
+ --sync-frm Sync .frm files to disk on creation
+ (Defaults to on; use --skip-sync-frm to disable.)
+ --sync-master-info=#
+ Synchronously flush master info to disk after every #th
+ event. Use 0 to disable synchronous flushing
+ --sync-relay-log=# Synchronously flush relay log to disk after every #th
+ event. Use 0 to disable synchronous flushing
+ --sync-relay-log-info=#
+ Synchronously flush relay log info to disk after every
+ #th transaction. Use 0 to disable synchronous flushing
+ --sysdate-is-now Non-default option to alias SYSDATE() to NOW() to make it
+ safe-replicable. Since 5.0, SYSDATE() returns a `dynamic'
+ value different for different invocations, even within
+ the same statement.
+ --system-versioning-alter-history=name
+ Versioning ALTER TABLE mode. ERROR: Fail ALTER with
+ error; KEEP: Keep historical system rows and subject them
+ to ALTER
+ --system-versioning-insert-history
+ Allows direct inserts into ROW_START and ROW_END columns
+ if secure_timestamp allows changing @@timestamp
+ --table-cache=# Deprecated; use --table-open-cache instead.
+ --table-definition-cache=#
+ The number of cached table definitions
+ --table-open-cache=#
+ The number of cached open tables
+ --table-open-cache-instances=#
+ Maximum number of table cache instances
+ --tc-heuristic-recover=name
+ Decision to use in heuristic recover process. One of: OFF,
+ COMMIT, ROLLBACK
+ --tcp-keepalive-interval=#
+ The interval, in seconds, between when successive
+ keep-alive packets are sent if no acknowledgement is
+ received.If set to 0, system dependent default is used.
+ (Automatically configured unless set explicitly)
+ --tcp-keepalive-probes=#
+ The number of unacknowledged probes to send before
+ considering the connection dead and notifying the
+ application layer.If set to 0, system dependent default
+ is used. (Automatically configured unless set explicitly)
+ --tcp-keepalive-time=#
+ Timeout, in seconds, with no activity until the first TCP
+ keep-alive packet is sent.If set to 0, system dependent
+ default is used. (Automatically configured unless set
+ explicitly)
+ --tcp-nodelay Set option TCP_NODELAY (disable Nagle's algorithm) on
+ socket
+ (Defaults to on; use --skip-tcp-nodelay to disable.)
+ --temp-pool Using this option will cause most temporary files created
+ to use a small set of names, rather than a unique name
+ for each new file. Deprecated.
+ --thread-cache-size=#
+ How many threads we should keep in a cache for reuse.
+ These are freed after 5 minutes of idle time
+ --thread-handling=name
+ Define threads usage for handling queries. One of:
+ one-thread-per-connection, no-threads, pool-of-threads
+ --thread-pool-dedicated-listener
+ If set to 1,listener thread will not pick up queries
+ --thread-pool-exact-stats
+ If set to 1, provides better statistics in
+ information_schema threadpool tables
+ --thread-pool-groups[=name]
+ Enable or disable THREAD_POOL_GROUPS plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --thread-pool-idle-timeout=#
+ Timeout in seconds for an idle thread in the thread
+ pool.Worker thread will be shut down after timeout
+ --thread-pool-max-threads=#
+ Maximum allowed number of worker threads in the thread
+ pool
+ --thread-pool-oversubscribe=#
+ How many additional active worker threads in a group are
+ allowed.
+ --thread-pool-prio-kickup-timer=#
+ The number of milliseconds before a dequeued low-priority
+ statement is moved to the high-priority queue
+ --thread-pool-priority=name
+ Threadpool priority. High priority connections usually
+ start executing earlier than low priority.If priority set
+ to 'auto', the the actual priority(low or high) is
+ determined based on whether or not connection is inside
+ transaction.
+ --thread-pool-queues[=name]
+ Enable or disable THREAD_POOL_QUEUES plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --thread-pool-size=#
+ Number of thread groups in the pool. This parameter is
+ roughly equivalent to maximum number of concurrently
+ executing threads (threads in a waiting state do not
+ count as executing).
+ --thread-pool-stall-limit=#
+ Maximum query execution time in milliseconds,before an
+ executing non-yielding thread is considered stalled.If a
+ worker thread is stalled, additional worker thread may be
+ created to handle remaining clients.
+ --thread-pool-stats[=name]
+ Enable or disable THREAD_POOL_STATS plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --thread-pool-waits[=name]
+ Enable or disable THREAD_POOL_WAITS plugin. One of: ON,
+ OFF, FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --thread-stack=# The stack size for each thread
+ --time-format=name The TIME format (ignored)
+ --tls-version=name TLS protocol version for secure connections.. Any
+ combination of: TLSv1.0, TLSv1.1, TLSv1.2, TLSv1.3
+ Use 'ALL' to set all combinations.
+ --tmp-disk-table-size=#
+ Max size for data for an internal temporary on-disk
+ MyISAM or Aria table.
+ --tmp-memory-table-size=#
+ If an internal in-memory temporary table exceeds this
+ size, MariaDB will automatically convert it to an on-disk
+ MyISAM or Aria table. Same as tmp_table_size.
+ --tmp-table-size=# Alias for tmp_memory_table_size. If an internal in-memory
+ temporary table exceeds this size, MariaDB will
+ automatically convert it to an on-disk MyISAM or Aria
+ table.
+ -t, --tmpdir=name Path for temporary files. Several paths may be specified,
+ separated by a colon (:), in this case they are used in a
+ round-robin fashion
+ --transaction-alloc-block-size=#
+ Allocation block size for transactions to be stored in
+ binary log
+ --transaction-isolation=name
+ Default transaction isolation level. One of:
+ READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ,
+ SERIALIZABLE
+ --transaction-prealloc-size=#
+ Persistent buffer for transactions to be stored in binary
+ log
+ --transaction-read-only
+ Default transaction access mode. True if transactions are
+ read-only.
+ --unix-socket[=name]
+ Enable or disable unix_socket plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --updatable-views-with-limit=name
+ 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. 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-stat-tables=name
+ Specifies how to use system statistics tables. One of:
+ NEVER, COMPLEMENTARY, PREFERABLY,
+ COMPLEMENTARY_FOR_QUERIES, PREFERABLY_FOR_QUERIES
+ -u, --user=name Run mysqld daemon as user.
+ --user-variables[=name]
+ Enable or disable user_variables plugin. One of: ON, OFF,
+ FORCE (don't start if the plugin fails to load),
+ FORCE_PLUS_PERMANENT (like FORCE, but the plugin can not
+ be uninstalled).
+ --userstat Enables statistics gathering for USER_STATISTICS,
+ CLIENT_STATISTICS, INDEX_STATISTICS and TABLE_STATISTICS
+ tables in the INFORMATION_SCHEMA
+ -v, --verbose Used with --help option for detailed help.
+ -V, --version[=name]
+ Output version information and exit.
+ --wait-timeout=# The number of seconds the server waits for activity on a
+ connection before closing it
+ --wsrep-OSU-method[=name]
+ Method for Online Schema Upgrade. One of: TOI, RSU
+ --wsrep-SR-store=name
+ Storage for streaming replication fragments. One of: none,
+ table
+ --wsrep-allowlist=name
+ Allowed IP addresses split by comma delimiter
+ --wsrep-auto-increment-control
+ To automatically control the assignment of autoincrement
+ variables
+ (Defaults to on; use --skip-wsrep-auto-increment-control to disable.)
+ --wsrep-causal-reads
+ Setting this variable is equivalent to setting
+ wsrep_sync_wait READ flag
+ --wsrep-certification-rules=name
+ Certification rules to use in the cluster. Possible
+ values are: "strict": stricter rules that could result in
+ more certification failures. "optimized": relaxed rules
+ that allow more concurrency and cause less certification
+ failures.
+ --wsrep-certify-nonPK
+ Certify tables with no primary key
+ (Defaults to on; use --skip-wsrep-certify-nonPK to disable.)
+ --wsrep-cluster-address=name
+ Address to initially connect to cluster
+ --wsrep-cluster-name=name
+ Name for the cluster
+ --wsrep-convert-LOCK-to-trx
+ To convert locking sessions into transactions
+ --wsrep-data-home-dir=name
+ home directory for wsrep provider
+ --wsrep-dbug-option=name
+ DBUG options to provider library
+ --wsrep-debug=name WSREP debug level logging. One of: NONE, SERVER,
+ TRANSACTION, STREAMING, CLIENT
+ --wsrep-desync To desynchronize the node from the cluster
+ --wsrep-dirty-reads Allow reads even when the node is not in the primary
+ component.
+ --wsrep-drupal-282555-workaround
+ Enable a workaround to handle the cases where inserting a
+ DEFAULT value into an auto-increment column could fail
+ with duplicate key error
+ --wsrep-forced-binlog-format=name
+ binlog format to take effect over user's choice. One of:
+ MIXED, STATEMENT, ROW, NONE
+ --wsrep-gtid-domain-id=#
+ When wsrep_gtid_mode is set, this value is used as
+ gtid_domain_id for galera transactions and also copied to
+ the joiner nodes during state transfer. It is ignored,
+ otherwise.
+ --wsrep-gtid-mode Automatically update the (joiner) node's
+ wsrep_gtid_domain_id value with that of donor's (received
+ during state transfer) and use it in place of
+ gtid_domain_id for all galera transactions. When OFF
+ (default), wsrep_gtid_domain_id is simply ignored
+ (backward compatibility).
+ --wsrep-ignore-apply-errors=#
+ Ignore replication errors
+ --wsrep-load-data-splitting
+ To commit LOAD DATA transaction after every 10K rows
+ inserted (deprecated)
+ --wsrep-log-conflicts
+ To log multi-master conflicts
+ --wsrep-max-ws-rows=#
+ Max number of rows in write set
+ --wsrep-max-ws-size=#
+ Max write set size (bytes)
+ --wsrep-mode=name Set of WSREP features that are enabled.. Any combination
+ of: STRICT_REPLICATION, BINLOG_ROW_FORMAT_ONLY,
+ REQUIRED_PRIMARY_KEY, REPLICATE_MYISAM, REPLICATE_ARIA,
+ DISALLOW_LOCAL_GTID, BF_ABORT_MARIABACKUP
+ Use 'ALL' to set all combinations.
+ --wsrep-mysql-replication-bundle=#
+ mysql replication group commit
+ --wsrep-new-cluster Bootstrap a cluster. It works by overriding the current
+ value of wsrep_cluster_address. It is recommended not to
+ add this option to the config file as this will trigger
+ bootstrap on every server start.
+ --wsrep-node-address=name
+ Specifies the node's network address, in the format ip
+ address[:port]. Used in situations where autoguessing is
+ not reliable. As of MariaDB 10.1.8, supports IPv6.
+ --wsrep-node-incoming-address=name
+ Client connection address
+ --wsrep-node-name=name
+ Name of this node. This name can be used in
+ wsrep_sst_donor as a preferred donor. Note that multiple
+ nodes in a cluster can have the same name.
+ --wsrep-notify-cmd=name
+ --wsrep-on To enable wsrep replication
+ --wsrep-provider=name
+ Path to replication provider library
+ --wsrep-provider-options=name
+ Semicolon (;) separated list of wsrep options (see
+ wsrep_provider_options documentation).
+ --wsrep-recover Recover database state after crash and exit
+ --wsrep-reject-queries[=name]
+ Variable to set to reject queries. One of: NONE, ALL,
+ ALL_KILL
+ --wsrep-restart-slave
+ Should MariaDB slave be restarted automatically, when
+ node joins back to cluster
+ --wsrep-retry-autocommit=#
+ Max number of times to retry a failed autocommit
+ statement
+ --wsrep-slave-FK-checks
+ Should slave thread do foreign key constraint checks
+ (Defaults to on; use --skip-wsrep-slave-FK-checks to disable.)
+ --wsrep-slave-UK-checks
+ Should slave thread do secondary index uniqueness checks
+ --wsrep-slave-threads=#
+ Number of slave appliers to launch
+ --wsrep-sst-auth=name
+ Authentication for SST connection
+ --wsrep-sst-donor=name
+ preferred donor node for the SST
+ --wsrep-sst-donor-rejects-queries
+ Reject client queries when donating state snapshot
+ transfer
+ --wsrep-sst-method=name
+ State snapshot transfer method
+ --wsrep-sst-receive-address=name
+ Address where node is waiting for SST contact
+ --wsrep-start-position=name
+ global transaction position to start from
+ --wsrep-status-file=name
+ wsrep status output filename
+ --wsrep-sync-wait[=#]
+ Ensure "synchronous" read view before executing an
+ operation of the type specified by bitmask: 1 -
+ READ(includes SELECT, SHOW and BEGIN/START TRANSACTION);
+ 2 - UPDATE and DELETE; 4 - INSERT and REPLACE
+ --wsrep-trx-fragment-size=#
+ Size of transaction fragments for streaming replication
+ (measured in units of 'wsrep_trx_fragment_unit')
+ --wsrep-trx-fragment-unit=name
+ Unit for streaming replication transaction fragments'
+ size: bytes, rows, statements
+
+Variables (--variable-name=value)
+and boolean options {FALSE|TRUE} Value (after reading options)
+------------------------------------------------------------ -------------
+allow-suspicious-udfs FALSE
+alter-algorithm DEFAULT
+analyze-sample-percentage 100
+aria-block-size 8192
+aria-checkpoint-interval 0
+aria-checkpoint-log-activity 1048576
+aria-encrypt-tables FALSE
+aria-force-start-after-recovery-failures 0
+aria-group-commit none
+aria-group-commit-interval 0
+aria-log-dir-path /var/lib/mysql/
+aria-log-file-size 1073741824
+aria-log-purge-type immediate
+aria-max-sort-file-size 9223372036853727232
+aria-page-checksum TRUE
+aria-pagecache-age-threshold 300
+aria-pagecache-buffer-size 134217728
+aria-pagecache-division-limit 100
+aria-pagecache-file-hash-size 512
+aria-recover-options
+aria-repair-threads 1
+aria-sort-buffer-size 268434432
+aria-stats-method nulls_unequal
+aria-sync-log-dir NEWFILE
+auto-increment-increment 1
+auto-increment-offset 1
+autocommit TRUE
+automatic-sp-privileges TRUE
+back-log 80
+basedir /usr
+big-tables FALSE
+bind-address 127.0.0.1
+binlog-alter-two-phase FALSE
+binlog-annotate-row-events TRUE
+binlog-cache-size 32768
+binlog-checksum CRC32
+binlog-commit-wait-count 0
+binlog-commit-wait-usec 100000
+binlog-direct-non-transactional-updates FALSE
+binlog-expire-logs-seconds 864000
+binlog-file-cache-size 16384
+binlog-format MIXED
+binlog-optimize-thread-scheduling TRUE
+binlog-row-event-max-size 8192
+binlog-row-image FULL
+binlog-row-metadata NO_LOG
+binlog-stmt-cache-size 32768
+bulk-insert-buffer-size 8388608
+character-set-client-handshake TRUE
+character-set-filesystem binary
+character-set-server utf8mb4
+character-sets-dir /usr/share/mysql/charsets/
+chroot (No default value)
+collation-server utf8mb4_general_ci
+column-compression-threshold 100
+column-compression-zlib-level 6
+column-compression-zlib-strategy DEFAULT_STRATEGY
+column-compression-zlib-wrap FALSE
+completion-type NO_CHAIN
+concurrent-insert AUTO
+connect-timeout 10
+console FALSE
+core-file FALSE
+datadir /var/lib/mysql/
+date-format %Y-%m-%d
+datetime-format %Y-%m-%d %H:%i:%s
+deadlock-search-depth-long 15
+deadlock-search-depth-short 4
+deadlock-timeout-long 50000000
+deadlock-timeout-short 10000
+debug
+debug-abort-slave-event-count 0
+debug-disconnect-slave-event-count 0
+debug-gdb FALSE
+debug-max-binlog-dump-events 0
+debug-no-sync FALSE
+debug-no-thread-alarm FALSE
+debug-sporadic-binlog-dump-fail FALSE
+default-password-lifetime 0
+default-regex-flags
+default-storage-engine InnoDB
+default-time-zone (No default value)
+default-tmp-storage-engine (No default value)
+default-week-format 0
+delay-key-write ON
+delayed-insert-limit 100
+delayed-insert-timeout 300
+delayed-queue-size 1000
+des-key-file (No default value)
+disconnect-on-expired-password FALSE
+div-precision-increment 4
+encrypt-binlog FALSE
+encrypt-tmp-disk-tables FALSE
+encrypt-tmp-files FALSE
+enforce-storage-engine (No default value)
+eq-range-index-dive-limit 200
+event-scheduler OFF
+expensive-subquery-limit 100
+expire-logs-days 10
+explicit-defaults-for-timestamp TRUE
+external-locking FALSE
+extra-max-connections 1
+extra-port 0
+feedback ON
+feedback-http-proxy (No default value)
+feedback-send-retry-wait 60
+feedback-send-timeout 60
+feedback-url https://feedback.mariadb.org/rest/v1/post
+feedback-user-info
+flashback FALSE
+flush FALSE
+flush-time 0
+ft-boolean-syntax + -><()~*:""&|
+ft-max-word-len 84
+ft-min-word-len 4
+ft-query-expansion-limit 20
+ft-stopword-file (No default value)
+gdb FALSE
+general-log FALSE
+general-log-file HOSTNAME.log
+getopt-prefix-matching TRUE
+group-concat-max-len 1048576
+gtid-cleanup-batch-size 64
+gtid-domain-id 0
+gtid-ignore-duplicates FALSE
+gtid-pos-auto-engines
+gtid-strict-mode FALSE
+help TRUE
+histogram-size 254
+histogram-type DOUBLE_PREC_HB
+host-cache-size 279
+idle-readonly-transaction-timeout 0
+idle-transaction-timeout 0
+idle-write-transaction-timeout 0
+ignore-builtin-innodb FALSE
+ignore-db-dirs
+in-predicate-conversion-threshold 1000
+init-connect
+init-file (No default value)
+init-rpl-role MASTER
+init-slave
+innodb ON
+innodb-adaptive-flushing TRUE
+innodb-adaptive-flushing-lwm 10
+innodb-adaptive-hash-index FALSE
+innodb-adaptive-hash-index-parts 8
+innodb-autoextend-increment 64
+innodb-autoinc-lock-mode 1
+innodb-buf-dump-status-frequency 0
+innodb-buffer-page ON
+innodb-buffer-page-lru ON
+innodb-buffer-pool-chunk-size 0
+innodb-buffer-pool-dump-at-shutdown TRUE
+innodb-buffer-pool-dump-now FALSE
+innodb-buffer-pool-dump-pct 25
+innodb-buffer-pool-filename ib_buffer_pool
+innodb-buffer-pool-load-abort FALSE
+innodb-buffer-pool-load-at-startup TRUE
+innodb-buffer-pool-load-now FALSE
+innodb-buffer-pool-size 134217728
+innodb-buffer-pool-stats ON
+innodb-change-buffer-max-size 25
+innodb-change-buffering none
+innodb-checksum-algorithm full_crc32
+innodb-cmp ON
+innodb-cmp-per-index ON
+innodb-cmp-per-index-enabled FALSE
+innodb-cmp-per-index-reset ON
+innodb-cmp-reset ON
+innodb-cmpmem ON
+innodb-cmpmem-reset ON
+innodb-compression-algorithm zlib
+innodb-compression-default FALSE
+innodb-compression-failure-threshold-pct 5
+innodb-compression-level 6
+innodb-compression-pad-pct-max 50
+innodb-data-file-path ibdata1:12M:autoextend
+innodb-data-home-dir (No default value)
+innodb-deadlock-detect TRUE
+innodb-deadlock-report full
+innodb-default-encryption-key-id 1
+innodb-default-row-format dynamic
+innodb-defragment FALSE
+innodb-defragment-fill-factor 0.9
+innodb-defragment-fill-factor-n-recs 20
+innodb-defragment-frequency 40
+innodb-defragment-n-pages 7
+innodb-defragment-stats-accuracy 0
+innodb-disable-sort-file-cache FALSE
+innodb-doublewrite TRUE
+innodb-encrypt-log FALSE
+innodb-encrypt-tables OFF
+innodb-encrypt-temporary-tables FALSE
+innodb-encryption-rotate-key-age 1
+innodb-encryption-rotation-iops 100
+innodb-encryption-threads 0
+innodb-fast-shutdown 1
+innodb-fatal-semaphore-wait-threshold 600
+innodb-file-per-table TRUE
+innodb-fill-factor 100
+innodb-flush-log-at-timeout 1
+innodb-flush-log-at-trx-commit 1
+innodb-flush-method O_DIRECT
+innodb-flush-neighbors 1
+innodb-flush-sync TRUE
+innodb-flushing-avg-loops 30
+innodb-force-primary-key FALSE
+innodb-force-recovery 0
+innodb-ft-aux-table (No default value)
+innodb-ft-being-deleted ON
+innodb-ft-cache-size 8000000
+innodb-ft-config ON
+innodb-ft-default-stopword ON
+innodb-ft-deleted ON
+innodb-ft-enable-diag-print FALSE
+innodb-ft-enable-stopword TRUE
+innodb-ft-index-cache ON
+innodb-ft-index-table ON
+innodb-ft-max-token-size 84
+innodb-ft-min-token-size 3
+innodb-ft-num-word-optimize 2000
+innodb-ft-result-cache-limit 2000000000
+innodb-ft-server-stopword-table (No default value)
+innodb-ft-sort-pll-degree 2
+innodb-ft-total-cache-size 640000000
+innodb-ft-user-stopword-table (No default value)
+innodb-immediate-scrub-data-uncompressed FALSE
+innodb-instant-alter-column-allowed add_drop_reorder
+innodb-io-capacity 200
+innodb-io-capacity-max 18446744073709551615
+innodb-lock-wait-timeout 50
+innodb-lock-waits ON
+innodb-locks ON
+innodb-log-buffer-size 16777216
+innodb-log-file-buffering FALSE
+innodb-log-file-size 100663296
+innodb-log-group-home-dir (No default value)
+innodb-lru-flush-size 32
+innodb-lru-scan-depth 1536
+innodb-max-dirty-pages-pct 90
+innodb-max-dirty-pages-pct-lwm 0
+innodb-max-purge-lag 0
+innodb-max-purge-lag-delay 0
+innodb-max-purge-lag-wait 4294967295
+innodb-max-undo-log-size 10485760
+innodb-metrics ON
+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-numa-interleave FALSE
+innodb-old-blocks-pct 37
+innodb-old-blocks-time 1000
+innodb-online-alter-log-max-size 134217728
+innodb-open-files 0
+innodb-optimize-fulltext-only FALSE
+innodb-page-size 16384
+innodb-prefix-index-cluster-optimization TRUE
+innodb-print-all-deadlocks FALSE
+innodb-purge-batch-size 1000
+innodb-purge-rseg-truncate-frequency 128
+innodb-purge-threads 4
+innodb-random-read-ahead FALSE
+innodb-read-ahead-threshold 56
+innodb-read-io-threads 4
+innodb-read-only FALSE
+innodb-read-only-compressed FALSE
+innodb-rollback-on-timeout FALSE
+innodb-sort-buffer-size 1048576
+innodb-spin-wait-delay 4
+innodb-stats-auto-recalc TRUE
+innodb-stats-include-delete-marked FALSE
+innodb-stats-method nulls_equal
+innodb-stats-modified-counter 0
+innodb-stats-on-metadata FALSE
+innodb-stats-persistent TRUE
+innodb-stats-persistent-sample-pages 20
+innodb-stats-traditional TRUE
+innodb-stats-transient-sample-pages 8
+innodb-status-file FALSE
+innodb-status-output FALSE
+innodb-status-output-locks FALSE
+innodb-strict-mode TRUE
+innodb-sync-spin-loops 30
+innodb-sys-columns ON
+innodb-sys-fields ON
+innodb-sys-foreign ON
+innodb-sys-foreign-cols ON
+innodb-sys-indexes ON
+innodb-sys-tables ON
+innodb-sys-tablespaces ON
+innodb-sys-tablestats ON
+innodb-sys-virtual ON
+innodb-table-locks TRUE
+innodb-tablespaces-encryption ON
+innodb-temp-data-file-path ibtmp1:12M:autoextend
+innodb-tmpdir (No default value)
+innodb-trx ON
+innodb-undo-directory (No default value)
+innodb-undo-log-truncate FALSE
+innodb-undo-tablespaces 0
+innodb-use-atomic-writes TRUE
+innodb-use-native-aio TRUE
+innodb-write-io-threads 4
+interactive-timeout 28800
+join-buffer-size 262144
+join-buffer-space-limit 2097152
+join-cache-level 2
+keep-files-on-create FALSE
+key-buffer-size 134217728
+key-cache-age-threshold 300
+key-cache-block-size 1024
+key-cache-division-limit 100
+key-cache-file-hash-size 512
+key-cache-segments 0
+large-files-support TRUE
+large-pages FALSE
+lc-messages en_US
+lc-messages-dir (No default value)
+lc-time-names en_US
+local-infile TRUE
+lock-wait-timeout 86400
+log-basename HOSTNAME
+log-bin (No default value)
+log-bin-compress FALSE
+log-bin-compress-min-len 256
+log-bin-index (No default value)
+log-bin-trust-function-creators FALSE
+log-ddl-recovery ddl_recovery.log
+log-disabled-statements sp
+log-error
+log-isam myisam.log
+log-output FILE
+log-queries-not-using-indexes FALSE
+log-short-format FALSE
+log-slave-updates FALSE
+log-slow-admin-statements TRUE
+log-slow-disabled-statements sp
+log-slow-filter admin,filesort,filesort_on_disk,filesort_priority_queue,full_join,full_scan,query_cache,query_cache_miss,tmp_table,tmp_table_on_disk
+log-slow-max-warnings 10
+log-slow-min-examined-row-limit 0
+log-slow-query FALSE
+log-slow-query-file HOSTNAME-slow.log
+log-slow-query-time 10
+log-slow-rate-limit 1
+log-slow-slave-statements TRUE
+log-slow-verbosity
+log-tc tc.log
+log-tc-size 24576
+log-warnings 2
+long-query-time 10
+low-priority-updates FALSE
+lower-case-file-system FALSE
+lower-case-table-names 0
+master-info-file master.info
+master-retry-count 100000
+master-verify-checksum FALSE
+max-allowed-packet 16777216
+max-binlog-cache-size 18446744073709547520
+max-binlog-size 1073741824
+max-binlog-stmt-cache-size 18446744073709547520
+max-connect-errors 100
+max-connections 151
+max-delayed-threads 20
+max-digest-length 1024
+max-error-count 64
+max-heap-table-size 16777216
+max-join-size 18446744073709551615
+max-length-for-sort-data 1024
+max-password-errors 4294967295
+max-prepared-stmt-count 16382
+max-recursive-iterations 1000
+max-relay-log-size 1073741824
+max-rowid-filter-size 131072
+max-seeks-for-key 4294967295
+max-session-mem-used 9223372036854775807
+max-sort-length 1024
+max-sp-recursion-depth 0
+max-statement-time 0
+max-tmp-tables 32
+max-user-connections 0
+max-write-lock-count 4294967295
+memlock FALSE
+metadata-locks-cache-size 1024
+metadata-locks-hash-instances 8
+min-examined-row-limit 0
+mrr-buffer-size 262144
+myisam-block-size 1024
+myisam-data-pointer-size 6
+myisam-max-sort-file-size 18446744073709551615
+myisam-mmap-size 9223372036853727232
+myisam-recover-options BACKUP,QUICK
+myisam-repair-threads 1
+myisam-sort-buffer-size 134216704
+myisam-stats-method NULLS_UNEQUAL
+myisam-use-mmap FALSE
+mysql56-temporal-format TRUE
+net-buffer-length 16384
+net-read-timeout 30
+net-retry-count 10
+net-write-timeout 60
+note-verbosity basic,explain
+old FALSE
+old-alter-table DEFAULT
+old-mode UTF8_IS_UTF8MB3
+old-passwords FALSE
+old-style-user-limits FALSE
+open-files-limit 32000
+optimizer-extra-pruning-depth 8
+optimizer-max-sel-arg-weight 32000
+optimizer-max-sel-args 16000
+optimizer-prune-level 2
+optimizer-search-depth 62
+optimizer-selectivity-sampling-limit 100
+optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,index_merge_sort_intersection=off,engine_condition_pushdown=off,index_condition_pushdown=on,derived_merge=on,derived_with_keys=on,firstmatch=on,loosescan=on,materialization=on,in_to_exists=on,semijoin=on,partial_match_rowid_merge=on,partial_match_table_scan=on,subquery_cache=on,mrr=off,mrr_cost_based=off,mrr_sort_keys=off,outer_join_with_cache=on,semijoin_with_cache=on,join_cache_incremental=on,join_cache_hashed=on,join_cache_bka=on,optimize_join_buffer_size=on,table_elimination=on,extended_keys=on,exists_to_in=on,orderby_uses_equalities=on,condition_pushdown_for_derived=on,split_materialized=on,condition_pushdown_for_subquery=on,rowid_filter=on,condition_pushdown_from_having=on
+optimizer-trace
+optimizer-trace-max-mem-size 1048576
+optimizer-use-condition-selectivity 4
+partition ON
+performance-schema FALSE
+performance-schema-accounts-size -1
+performance-schema-consumer-events-stages-current FALSE
+performance-schema-consumer-events-stages-history FALSE
+performance-schema-consumer-events-stages-history-long FALSE
+performance-schema-consumer-events-statements-current FALSE
+performance-schema-consumer-events-statements-history FALSE
+performance-schema-consumer-events-statements-history-long FALSE
+performance-schema-consumer-events-transactions-current FALSE
+performance-schema-consumer-events-transactions-history FALSE
+performance-schema-consumer-events-transactions-history-long FALSE
+performance-schema-consumer-events-waits-current FALSE
+performance-schema-consumer-events-waits-history FALSE
+performance-schema-consumer-events-waits-history-long FALSE
+performance-schema-consumer-global-instrumentation TRUE
+performance-schema-consumer-statements-digest TRUE
+performance-schema-consumer-thread-instrumentation TRUE
+performance-schema-digests-size -1
+performance-schema-events-stages-history-long-size -1
+performance-schema-events-stages-history-size -1
+performance-schema-events-statements-history-long-size -1
+performance-schema-events-statements-history-size -1
+performance-schema-events-transactions-history-long-size -1
+performance-schema-events-transactions-history-size -1
+performance-schema-events-waits-history-long-size -1
+performance-schema-events-waits-history-size -1
+performance-schema-hosts-size -1
+performance-schema-instrument
+performance-schema-max-cond-classes 90
+performance-schema-max-cond-instances -1
+performance-schema-max-digest-length 1024
+performance-schema-max-file-classes 80
+performance-schema-max-file-handles 32768
+performance-schema-max-file-instances -1
+performance-schema-max-index-stat -1
+performance-schema-max-memory-classes 320
+performance-schema-max-metadata-locks -1
+performance-schema-max-mutex-classes 210
+performance-schema-max-mutex-instances -1
+performance-schema-max-prepared-statements-instances -1
+performance-schema-max-program-instances -1
+performance-schema-max-rwlock-classes 50
+performance-schema-max-rwlock-instances -1
+performance-schema-max-socket-classes 10
+performance-schema-max-socket-instances -1
+performance-schema-max-sql-text-length 1024
+performance-schema-max-stage-classes 160
+performance-schema-max-statement-classes 222
+performance-schema-max-statement-stack 10
+performance-schema-max-table-handles -1
+performance-schema-max-table-instances -1
+performance-schema-max-table-lock-stat -1
+performance-schema-max-thread-classes 50
+performance-schema-max-thread-instances -1
+performance-schema-session-connect-attrs-size -1
+performance-schema-setup-actors-size -1
+performance-schema-setup-objects-size -1
+performance-schema-users-size -1
+pid-file /run/mysqld/mysqld.pid
+plugin-dir /usr/lib/mysql/plugin/
+plugin-maturity gamma
+port 3306
+port-open-timeout 0
+preload-buffer-size 32768
+profiling-history-size 15
+progress-report-time 5
+protocol-version 10
+proxy-protocol-networks
+query-alloc-block-size 16384
+query-cache-limit 1048576
+query-cache-min-res-unit 4096
+query-cache-size 1048576
+query-cache-strip-comments FALSE
+query-cache-type OFF
+query-cache-wlock-invalidate FALSE
+query-prealloc-size 24576
+range-alloc-block-size 4096
+read-binlog-speed-limit 0
+read-buffer-size 131072
+read-only FALSE
+read-rnd-buffer-size 262144
+relay-log (No default value)
+relay-log-index (No default value)
+relay-log-info-file relay-log.info
+relay-log-purge TRUE
+relay-log-recovery FALSE
+relay-log-space-limit 0
+replicate-annotate-row-events TRUE
+replicate-events-marked-for-skip REPLICATE
+replicate-same-server-id FALSE
+report-host (No default value)
+report-password (No default value)
+report-port 0
+report-user (No default value)
+require-secure-transport FALSE
+rowid-merge-buff-size 8388608
+rpl-semi-sync-master-enabled FALSE
+rpl-semi-sync-master-timeout 10000
+rpl-semi-sync-master-trace-level 32
+rpl-semi-sync-master-wait-no-slave TRUE
+rpl-semi-sync-master-wait-point AFTER_COMMIT
+rpl-semi-sync-slave-delay-master FALSE
+rpl-semi-sync-slave-enabled FALSE
+rpl-semi-sync-slave-kill-conn-timeout 5
+rpl-semi-sync-slave-trace-level 32
+safe-user-create FALSE
+secure-auth TRUE
+secure-file-priv (No default value)
+secure-timestamp NO
+sequence ON
+server-id 1
+session-track-schema TRUE
+session-track-state-change FALSE
+session-track-system-variables autocommit,character_set_client,character_set_connection,character_set_results,time_zone
+session-track-transaction-info OFF
+show-slave-auth-info FALSE
+silent-startup FALSE
+skip-grant-tables FALSE
+skip-name-resolve FALSE
+skip-networking FALSE
+skip-show-database FALSE
+skip-slave-start FALSE
+slave-compressed-protocol FALSE
+slave-ddl-exec-mode IDEMPOTENT
+slave-domain-parallel-threads 0
+slave-exec-mode STRICT
+slave-load-tmpdir /tmp
+slave-max-allowed-packet 1073741824
+slave-max-statement-time 0
+slave-net-timeout 60
+slave-parallel-max-queued 131072
+slave-parallel-mode conservative
+slave-parallel-threads 0
+slave-parallel-workers 0
+slave-run-triggers-for-rbr NO
+slave-skip-errors OFF
+slave-sql-verify-checksum TRUE
+slave-transaction-retries 10
+slave-transaction-retry-errors 1158,1159,1160,1161,1205,1213,1429,2013,12701
+slave-transaction-retry-interval 0
+slave-type-conversions
+slow-launch-time 2
+slow-query-log FALSE
+slow-query-log-file HOSTNAME-slow.log
+socket /run/mysqld/mysqld.sock
+sort-buffer-size 2097152
+sql-mode STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
+sql-safe-updates FALSE
+ssl FALSE
+ssl-ca (No default value)
+ssl-capath (No default value)
+ssl-cert (No default value)
+ssl-cipher (No default value)
+ssl-crl (No default value)
+ssl-crlpath (No default value)
+ssl-key (No default value)
+stack-trace TRUE
+standard-compliant-cte TRUE
+stored-program-cache 256
+strict-password-validation TRUE
+symbolic-links TRUE
+sync-binlog 0
+sync-frm TRUE
+sync-master-info 10000
+sync-relay-log 10000
+sync-relay-log-info 10000
+sysdate-is-now FALSE
+system-time-zone UTC
+system-versioning-alter-history ERROR
+system-versioning-insert-history FALSE
+table-cache 2000
+table-definition-cache 400
+table-open-cache 2000
+table-open-cache-instances 8
+tc-heuristic-recover OFF
+tcp-keepalive-interval 0
+tcp-keepalive-probes 0
+tcp-keepalive-time 0
+tcp-nodelay TRUE
+temp-pool FALSE
+thread-cache-size 151
+thread-handling one-thread-per-connection
+thread-pool-dedicated-listener FALSE
+thread-pool-exact-stats FALSE
+thread-pool-groups ON
+thread-pool-idle-timeout 60
+thread-pool-max-threads 65536
+thread-pool-oversubscribe 3
+thread-pool-prio-kickup-timer 1000
+thread-pool-priority auto
+thread-pool-queues ON
+thread-pool-size 2
+thread-pool-stall-limit 500
+thread-pool-stats ON
+thread-pool-waits ON
+thread-stack 299008
+time-format %H:%i:%s
+tls-version TLSv1.2,TLSv1.3
+tmp-disk-table-size 18446744073709551615
+tmp-memory-table-size 16777216
+tmp-table-size 16777216
+tmpdir /tmp
+transaction-alloc-block-size 8192
+transaction-isolation REPEATABLE-READ
+transaction-prealloc-size 4096
+transaction-read-only FALSE
+unix-socket ON
+updatable-views-with-limit YES
+use-stat-tables PREFERABLY_FOR_QUERIES
+user-variables ON
+userstat FALSE
+verbose TRUE
+version VERSION
+version-comment Debian RELEASE
+version-compile-machine ARCH
+version-compile-os debian-linux-gnu
+version-malloc-library system
+version-source-revision -
+version-ssl-library SSL-VERSION
+wait-timeout 28800
+wsrep-OSU-method TOI
+wsrep-SR-store table
+wsrep-allowlist
+wsrep-auto-increment-control TRUE
+wsrep-causal-reads FALSE
+wsrep-certification-rules strict
+wsrep-certify-nonPK TRUE
+wsrep-cluster-address
+wsrep-cluster-name my_wsrep_cluster
+wsrep-convert-LOCK-to-trx FALSE
+wsrep-data-home-dir /var/lib/mysql/
+wsrep-dbug-option
+wsrep-debug NONE
+wsrep-desync FALSE
+wsrep-dirty-reads FALSE
+wsrep-drupal-282555-workaround FALSE
+wsrep-forced-binlog-format NONE
+wsrep-gtid-domain-id 0
+wsrep-gtid-mode FALSE
+wsrep-ignore-apply-errors 7
+wsrep-load-data-splitting FALSE
+wsrep-log-conflicts FALSE
+wsrep-max-ws-rows 0
+wsrep-max-ws-size 2147483647
+wsrep-mode
+wsrep-mysql-replication-bundle 0
+wsrep-new-cluster FALSE
+wsrep-node-address
+wsrep-node-incoming-address AUTO
+wsrep-node-name HOSTNAME
+wsrep-notify-cmd
+wsrep-on FALSE
+wsrep-patch-version wsrep_26.22
+wsrep-provider none
+wsrep-provider-options
+wsrep-recover FALSE
+wsrep-reject-queries NONE
+wsrep-restart-slave FALSE
+wsrep-retry-autocommit 1
+wsrep-slave-FK-checks TRUE
+wsrep-slave-UK-checks FALSE
+wsrep-slave-threads 1
+wsrep-sst-auth (No default value)
+wsrep-sst-donor
+wsrep-sst-donor-rejects-queries FALSE
+wsrep-sst-method rsync
+wsrep-sst-receive-address AUTO
+wsrep-start-position 00000000-0000-0000-0000-000000000000:-1
+wsrep-status-file
+wsrep-sync-wait 0
+wsrep-trx-fragment-size 0
+wsrep-trx-fragment-unit bytes
+
+To see what variables a running server is using, type
+'SELECT * FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES' instead of 'mysqld --verbose --help' or 'mariadbd --verbose --help'.
diff --git a/debian/tests/upstream b/debian/tests/upstream
new file mode 100644
index 00000000..a348e154
--- /dev/null
+++ b/debian/tests/upstream
@@ -0,0 +1,74 @@
+#!/bin/sh
+# autopkgtest check: Build and run the upstream test suite.
+# (C) 2012 Canonical Ltd.
+# Author: Daniel Kessel <d.kessel@gmx.de>
+
+# running the mysql testsuite as described in:
+# https://bugs.launchpad.net/ubuntu/+source/mysql-5.5/+bug/959683
+
+echo "Running test 'testsuite'"
+set -e
+
+MTR_SKIP_TEST_LIST=$(mktemp)
+ARCH=$(dpkg --print-architecture)
+
+WORKDIR=$(mktemp -d)
+trap 'rm -rf $WORKDIR $MTR_SKIP_TEST_LIST' 0 INT QUIT ABRT PIPE TERM
+cd "$WORKDIR"
+
+mkdir var
+mkdir tmp
+
+echo "using vardir: $WORKDIR/var"
+echo "using tmpdir: $WORKDIR/tmp"
+
+echo "Setting up skip-tests-list"
+
+# Use the arch specific skiplists if exist, otherwise list is empty
+if [ -f "/usr/share/mysql/mysql-test/unstable-tests.$ARCH" ]
+then
+ cat "/usr/share/mysql/mysql-test/unstable-tests.$ARCH" >> "$MTR_SKIP_TEST_LIST"
+fi
+
+# Skip tests that cannot run properly on ci.debian.net / autopkgtests.ubuntu.com
+cat >> "$MTR_SKIP_TEST_LIST" << EOF
+binlog.binlog_server_start_options : Requires writable /usr
+main.ctype_uca : Requires writable /usr
+rpl.rpl_gtid_mode : Requires starting server as root ref http://bugs.mysql.com/bug.php?id=70517
+EOF
+
+# Skip tests that cannot run properly on Gitlab-CI
+if [ -n "$GITLAB_CI" ]
+then
+ cat >> "$MTR_SKIP_TEST_LIST" << EOF
+main.mysqld--help : For unknown reason table-cache is 4000 instead of default 421
+EOF
+fi
+
+if [ "$ARCH" = "s390x" ]
+then
+ echo "main.func_regexp_pcre : recursion fails on s390x https://bugs.launchpad.net/ubuntu/+source/mariadb-10.1/+bug/1723947" >> "$MTR_SKIP_TEST_LIST"
+elif [ "$ARCH" = "armhf" ] || [ "$ARCH" = "i386" ]
+then
+ echo "main.failed_auth_unixsocket : Test returns wrong exit code on armhf and i386 (but only in debci) https://jira.mariadb.org/browse/MDEV-23933" >> "$MTR_SKIP_TEST_LIST"
+fi
+
+# Store skipped test list in artifacts so it can be viewed while debugging
+# failed autopkgtest runs
+cp -v "$MTR_SKIP_TEST_LIST" "$AUTOPKGTEST_ARTIFACTS"
+
+cd /usr/share/mysql/mysql-test
+echo "starting mysql-test-tun.pl..."
+export MTR_PRINT_CORE=detailed
+# The $MTR_ARGUMENTS_APPEND is intentionally used to pass in extra arguments
+# shellcheck disable=SC2086
+eatmydata perl -I. ./mysql-test-run.pl \
+ --force --testcase-timeout=120 --suite-timeout=540 --retry=3 \
+ --verbose-restart --max-save-core=1 --max-save-datadir=1 \
+ --parallel=auto --skip-rpl --suite=main \
+ --skip-test-list="$MTR_SKIP_TEST_LIST" \
+ --vardir="$WORKDIR/var" --tmpdir="$WORKDIR/tmp" \
+ --xml-report="$AUTOPKGTEST_ARTIFACTS/mysql-test-run-junit.xml" \
+ $MTR_ARGUMENTS_APPEND \
+ "$@" 2>&1
+echo "run: OK"