Mysql을 설치하고 나면 다양한 프로그램들이 설치가 됩니다. 어떤 프로그램들이 있는지 정리해보며 저도 같이 공부하는 시간을 가지려고 합니다.
저의 경우에는 /usr/local/mysql 아래에 엔진 설치를 진행했기 때문에 각종 프로그램들은 /usr/local/mysql/bin 밑에 위치하고 있습니다.
# tree /usr/local/mysql
/usr/local/mysql
├── bin
│ ├── ibd2sdi
│ ├── innochecksum
│ ├── lz4_decompress
│ ├── myisamchk
│ ├── myisam_ftdump
│ ├── myisamlog
│ ├── myisampack
│ ├── my_print_defaults
│ ├── mysql
│ ├── mysqladmin
│ ├── mysqlbinlog
│ ├── mysqlcheck
│ ├── mysql_config
│ ├── mysql_config_editor
│ ├── mysqld
│ ├── mysqld-debug
│ ├── mysqld_multi
│ ├── mysqld_safe
│ ├── mysqldump
│ ├── mysqldumpslow
│ ├── mysqlimport
│ ├── mysqlpump
│ ├── mysql_secure_installation
│ ├── mysqlshow
│ ├── mysqlslap
│ ├── mysql_ssl_rsa_setup
│ ├── mysql_tzinfo_to_sql
│ ├── mysql_upgrade
│ ├── perror
│ └── zlib_decompress
├── docs
│ ├── ChangeLog
│ ├── INFO_BIN
│ └── INFO_SRC
├── include
│ ├── errmsg.h
│ ├── field_types.h
│ ├── my_command.h
│ ├── my_compress.h
│ ├── my_list.h
│ ├── mysql
│ │ ├── client_plugin.h
│ │ ├── plugin_auth_common.h
│ │ └── udf_registration_types.h
│ ├── mysql_com.h
│ ├── mysqld_error.h
│ ├── mysql.h
│ ├── mysql_time.h
│ ├── mysql_version.h
│ ├── mysqlx_ername.h
│ ├── mysqlx_error.h
│ └── mysqlx_version.h
├── lib
│ ├── libmysqlclient.a
│ ├── libmysqlclient.so -> libmysqlclient.so.21
│ ├── libmysqlclient.so.21 -> libmysqlclient.so.21.1.22
│ ├── libmysqlclient.so.21.1.22
│ ├── libmysqlservices.a
│ ├── mecab
│ │ ├── dic
│ │ │ ├── ipadic_euc-jp
│ │ │ │ ├── char.bin
│ │ │ │ ├── dicrc
│ │ │ │ ├── left-id.def
│ │ │ │ ├── matrix.bin
│ │ │ │ ├── pos-id.def
│ │ │ │ ├── rewrite.def
│ │ │ │ ├── right-id.def
│ │ │ │ ├── sys.dic
│ │ │ │ └── unk.dic
│ │ │ ├── ipadic_sjis
│ │ │ │ ├── char.bin
│ │ │ │ ├── dicrc
│ │ │ │ ├── left-id.def
│ │ │ │ ├── matrix.bin
│ │ │ │ ├── pos-id.def
│ │ │ │ ├── rewrite.def
│ │ │ │ ├── right-id.def
│ │ │ │ ├── sys.dic
│ │ │ │ └── unk.dic
│ │ │ └── ipadic_utf-8
│ │ │ ├── char.bin
│ │ │ ├── dicrc
│ │ │ ├── left-id.def
│ │ │ ├── matrix.bin
│ │ │ ├── pos-id.def
│ │ │ ├── rewrite.def
│ │ │ ├── right-id.def
│ │ │ ├── sys.dic
│ │ │ └── unk.dic
│ │ └── etc
│ │ └── mecabrc
│ ├── pkgconfig
│ │ └── mysqlclient.pc
│ ├── plugin
│ │ ├── adt_null.so
│ │ ├── authentication_ldap_sasl_client.so
│ │ ├── auth_socket.so
│ │ ├── component_audit_api_message_emit.so
│ │ ├── component_log_filter_dragnet.so
│ │ ├── component_log_sink_json.so
│ │ ├── component_log_sink_syseventlog.so
│ │ ├── component_mysqlbackup.so
│ │ ├── component_validate_password.so
│ │ ├── connection_control.so
│ │ ├── ddl_rewriter.so
│ │ ├── debug
│ │ │ ├── adt_null.so
│ │ │ ├── auth_socket.so
│ │ │ ├── component_audit_api_message_emit.so
│ │ │ ├── component_log_filter_dragnet.so
│ │ │ ├── component_log_sink_json.so
│ │ │ ├── component_log_sink_syseventlog.so
│ │ │ ├── component_mysqlbackup.so
│ │ │ ├── component_validate_password.so
│ │ │ ├── connection_control.so
│ │ │ ├── ddl_rewriter.so
│ │ │ ├── group_replication.so
│ │ │ ├── ha_example.so
│ │ │ ├── ha_mock.so
│ │ │ ├── innodb_engine.so
│ │ │ ├── keyring_file.so
│ │ │ ├── keyring_udf.so
│ │ │ ├── libmemcached.so
│ │ │ ├── libpluginmecab.so
│ │ │ ├── locking_service.so
│ │ │ ├── mypluglib.so
│ │ │ ├── mysql_clone.so
│ │ │ ├── mysql_no_login.so
│ │ │ ├── rewrite_example.so
│ │ │ ├── rewriter.so
│ │ │ ├── semisync_master.so
│ │ │ ├── semisync_slave.so
│ │ │ ├── validate_password.so
│ │ │ └── version_token.so
│ │ ├── group_replication.so
│ │ ├── ha_example.so
│ │ ├── ha_mock.so
│ │ ├── innodb_engine.so
│ │ ├── keyring_file.so
│ │ ├── keyring_udf.so
│ │ ├── libmemcached.so
│ │ ├── libpluginmecab.so
│ │ ├── locking_service.so
│ │ ├── mypluglib.so
│ │ ├── mysql_clone.so
│ │ ├── mysql_no_login.so
│ │ ├── rewrite_example.so
│ │ ├── rewriter.so
│ │ ├── semisync_master.so
│ │ ├── semisync_slave.so
│ │ ├── validate_password.so
│ │ └── version_token.so
│ └── private
│ ├── libcom_err.so -> libcom_err.so.3.0
│ ├── libcom_err.so.3 -> libcom_err.so.3.0
│ ├── libcom_err.so.3.0
│ ├── libcrypto.so -> libcrypto.so.1.1
│ ├── libcrypto.so.1.1
│ ├── libgssapi_krb5.so -> libgssapi_krb5.so.2.2
│ ├── libgssapi_krb5.so.2 -> libgssapi_krb5.so.2.2
│ ├── libgssapi_krb5.so.2.2
│ ├── libk5crypto.so -> libk5crypto.so.3.1
│ ├── libk5crypto.so.3 -> libk5crypto.so.3.1
│ ├── libk5crypto.so.3.1
│ ├── libkrb5.so -> libkrb5.so.3.3
│ ├── libkrb5.so.3 -> libkrb5.so.3.3
│ ├── libkrb5.so.3.3
│ ├── libkrb5support.so -> libkrb5support.so.0.1
│ ├── libkrb5support.so.0 -> libkrb5support.so.0.1
│ ├── libkrb5support.so.0.1
│ ├── liblber-2.4.so.2 -> liblber-2.4.so.2.10.11
│ ├── liblber-2.4.so.2.10.11
│ ├── liblber.so -> liblber-2.4.so.2.10.11
│ ├── libldap_r-2.4.so.2 -> libldap_r-2.4.so.2.10.11
│ ├── libldap_r-2.4.so.2.10.11
│ ├── libldap_r.so -> libldap_r-2.4.so.2.10.11
│ ├── libprotobuf-lite.so.3.11.4
│ ├── libprotobuf.so.3.11.4
│ ├── libsasl2.so -> libsasl2.so.3.0.0
│ ├── libsasl2.so.3 -> libsasl2.so.3.0.0
│ ├── libsasl2.so.3.0.0
│ ├── libssl.so -> libssl.so.1.1
│ ├── libssl.so.1.1
│ └── sasl2
│ ├── libanonymous.so -> libanonymous.so.3.0.0
│ ├── libanonymous.so.3 -> libanonymous.so.3.0.0
│ ├── libanonymous.so.3.0.0
│ ├── libcrammd5.so -> libcrammd5.so.3.0.0
│ ├── libcrammd5.so.3 -> libcrammd5.so.3.0.0
│ ├── libcrammd5.so.3.0.0
│ ├── libdigestmd5.so -> libdigestmd5.so.3.0.0
│ ├── libdigestmd5.so.3 -> libdigestmd5.so.3.0.0
│ ├── libdigestmd5.so.3.0.0
│ ├── libgs2.so -> libgs2.so.3.0.0
│ ├── libgs2.so.3 -> libgs2.so.3.0.0
│ ├── libgs2.so.3.0.0
│ ├── libgssapiv2.so -> libgssapiv2.so.3.0.0
│ ├── libgssapiv2.so.3 -> libgssapiv2.so.3.0.0
│ ├── libgssapiv2.so.3.0.0
│ ├── libplain.so -> libplain.so.3.0.0
│ ├── libplain.so.3 -> libplain.so.3.0.0
│ ├── libplain.so.3.0.0
│ ├── libscram.so -> libscram.so.3.0.0
│ ├── libscram.so.3 -> libscram.so.3.0.0
│ └── libscram.so.3.0.0
├── LICENSE
├── man
│ ├── man1
│ │ ├── comp_err.1
│ │ ├── ibd2sdi.1
│ │ ├── innochecksum.1
│ │ ├── lz4_decompress.1
│ │ ├── myisamchk.1
│ │ ├── myisam_ftdump.1
│ │ ├── myisamlog.1
│ │ ├── myisampack.1
│ │ ├── my_print_defaults.1
│ │ ├── mysql.1
│ │ ├── mysqladmin.1
│ │ ├── mysqlbinlog.1
│ │ ├── mysqlcheck.1
│ │ ├── mysql_config.1
│ │ ├── mysql_config_editor.1
│ │ ├── mysqld_multi.1
│ │ ├── mysqld_safe.1
│ │ ├── mysqldump.1
│ │ ├── mysqldumpslow.1
│ │ ├── mysqlimport.1
│ │ ├── mysqlman.1
│ │ ├── mysqlpump.1
│ │ ├── mysqlrouter.1
│ │ ├── mysqlrouter_passwd.1
│ │ ├── mysqlrouter_plugin_info.1
│ │ ├── mysql_secure_installation.1
│ │ ├── mysql.server.1
│ │ ├── mysqlshow.1
│ │ ├── mysqlslap.1
│ │ ├── mysql_ssl_rsa_setup.1
│ │ ├── mysql_tzinfo_to_sql.1
│ │ ├── mysql_upgrade.1
│ │ ├── perror.1
│ │ └── zlib_decompress.1
│ └── man8
│ └── mysqld.8
├── README
├── share
│ ├── aclocal
│ │ └── mysql.m4
│ ├── bulgarian
│ │ └── errmsg.sys
│ ├── charsets
│ │ ├── armscii8.xml
│ │ ├── ascii.xml
│ │ ├── cp1250.xml
│ │ ├── cp1251.xml
│ │ ├── cp1256.xml
│ │ ├── cp1257.xml
│ │ ├── cp850.xml
│ │ ├── cp852.xml
│ │ ├── cp866.xml
│ │ ├── dec8.xml
│ │ ├── geostd8.xml
│ │ ├── greek.xml
│ │ ├── hebrew.xml
│ │ ├── hp8.xml
│ │ ├── Index.xml
│ │ ├── keybcs2.xml
│ │ ├── koi8r.xml
│ │ ├── koi8u.xml
│ │ ├── latin1.xml
│ │ ├── latin2.xml
│ │ ├── latin5.xml
│ │ ├── latin7.xml
│ │ ├── macce.xml
│ │ ├── macroman.xml
│ │ ├── README
│ │ └── swe7.xml
│ ├── czech
│ │ └── errmsg.sys
│ ├── danish
│ │ └── errmsg.sys
│ ├── dictionary.txt
│ ├── dutch
│ │ └── errmsg.sys
│ ├── english
│ │ └── errmsg.sys
│ ├── estonian
│ │ └── errmsg.sys
│ ├── french
│ │ └── errmsg.sys
│ ├── german
│ │ └── errmsg.sys
│ ├── greek
│ │ └── errmsg.sys
│ ├── hungarian
│ │ └── errmsg.sys
│ ├── innodb_memcached_config.sql
│ ├── install_rewriter.sql
│ ├── italian
│ │ └── errmsg.sys
│ ├── japanese
│ │ └── errmsg.sys
│ ├── korean
│ │ └── errmsg.sys
│ ├── messages_to_clients.txt
│ ├── messages_to_error_log.txt
│ ├── norwegian
│ │ └── errmsg.sys
│ ├── norwegian-ny
│ │ └── errmsg.sys
│ ├── polish
│ │ └── errmsg.sys
│ ├── portuguese
│ │ └── errmsg.sys
│ ├── romanian
│ │ └── errmsg.sys
│ ├── russian
│ │ └── errmsg.sys
│ ├── serbian
│ │ └── errmsg.sys
│ ├── slovak
│ │ └── errmsg.sys
│ ├── spanish
│ │ └── errmsg.sys
│ ├── swedish
│ │ └── errmsg.sys
│ ├── ukrainian
│ │ └── errmsg.sys
│ └── uninstall_rewriter.sql
└── support-files
├── mysqld_multi.server
├── mysql-log-rotate
└── mysql.server
47 directories, 288 files
Server and Server-Startup Programs
mysqld
MySQL Server라고도 불립니다. 대부분의 작업을 수행하는 프로세스입니다.
(일부 설치 패키지에는 디버깅을 할수 있는 mysql-debug프로그램이 설치되어 있어 지원합니다. 제가 설치한 8.0.22버전에는 mysql-debug가 존재했습니다.)
Mysqld가 수행할 수 있는 옵션을 확인할 수 있는 명령어입니다.
mysql --verboser --help
mysqld Ver 8.0.22 for Linux on x86_64 (MySQL Community Server - GPL)
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Starts the MySQL database server.
Usage: mysqld [OPTIONS]
Default options are read from the following files in the given order:
/etc/my.cnf /etc/mysql/my.cnf /usr/local/mysql/etc/my.cnf ~/.my.cnf
The following groups are read: mysqld server mysqld-8.0
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,
except for login file.
--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=#
Also read groups with concat(group, suffix)
--login-path=# Read this path from the login file.
--abort-slave-event-count=#
Option used by mysql-test for debugging and testing of
replication.
--activate-all-roles-on-login
Automatically set all granted roles as active after the
user has authenticated successfully.
--admin-address=name
IP address to bind to for service connection. Address can
be an IPv4 address, IPv6 address, or host name. Wildcard
values *, ::, 0.0.0.0 are not allowed. Address value can
have following optional network namespace separated by
the delimiter / from the address value. E.g., the
following value 192.168.1.1/red specifies IP addresses to
listen for incoming TCP connections that have to be
placed into the namespace 'red'. Using of network
namespace requires its support from underlying Operating
System. Attempt to specify a network namespace for a
platform that doesn't support it results in error during
socket creation.
--admin-port=# Port number to use for service connection, built-in
default (33062)
--admin-ssl Enable SSL for admin interface (automatically enabled
with other flags).
(Defaults to on; use --skip-admin-ssl to disable.)
--admin-ssl-ca=name CA file in PEM format (check OpenSSL docs, implies --ssl)
for --admin-port
--admin-ssl-capath=name
CA directory (check OpenSSL docs, implies --ssl) for
--admin-port
--admin-ssl-cert=name
X509 cert in PEM format (implies --ssl) for --admin-port
--admin-ssl-cipher=name
SSL cipher to use (implies --ssl) for --admin-port
--admin-ssl-crl=name
CRL file in PEM format (check OpenSSL docs, implies
--ssl) for --admin-port
--admin-ssl-crlpath=name
CRL directory (check OpenSSL docs, implies --ssl) for
--admin-port
--admin-ssl-key=name
X509 key in PEM format (implies --ssl) for --admin-port
--admin-tls-ciphersuites=name
TLS v1.3 ciphersuite to use (implies --ssl) for
--admin-port
--admin-tls-version=name
TLS version for --admin-port, permitted values are TLSv1,
TLSv1.1, TLSv1.2, TLSv1.3
--allow-suspicious-udfs
Allows use of UDFs consisting of only one symbol xxx()
without corresponding xxx_init() or xxx_deinit(). That
also means that one can load any function from any
library, for example exit() from libc.so
-a, --ansi Use ANSI SQL syntax instead of MySQL syntax. This mode
will also set transaction isolation level 'serializable'.
--archive[=name] Enable or disable ARCHIVE plugin. Possible values are ON,
OFF, FORCE (don't start if the plugin fails to load).
--auto-generate-certs
Auto generate SSL certificates at server startup if --ssl
is set to ON and none of the other SSL system variables
are specified and certificate/key files are not present
in data directory.
(Defaults to on; use --skip-auto-generate-certs to disable.)
--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.)
--avoid-temporal-upgrade
When this option is enabled, the pre-5.6.4 temporal types
are not upgraded to the new format for ALTER TABLE
requests ADD/CHANGE/MODIFY COLUMN, ADD INDEX or FORCE
operation. This variable is deprecated and will be
removed in a future release.
--back-log=# The number of outstanding connection requests MySQL can
have. This comes into play when the main MySQL thread
gets very many connection requests in a very short time
-b, --basedir=name Path to installation directory. All paths are usually
resolved relative to this
--big-tables Allow big result sets by saving all temporary sets on
file (Solves most 'table full' errors)
--bind-address=name IP address(es) to bind to. Syntax: address[,address]...,
where address can be an IPv4 address, IPv6 address, host
name or one of the wildcard values *, ::, 0.0.0.0. In
case more than one address is specified in a
comma-separated list, wildcard values are not allowed.
Every address can have optional network namespace
separated by the delimiter / from the address value.
E.g., the following value
192.168.1.1/red,172.16.1.1/green,193.168.1.1 specifies
three IP addresses to listen for incoming TCP connections
two of that have to be placed in corresponding
namespaces: the address 192.168.1.1 must be placed into
the namespace red and the address 172.16.1.1 must be
placed into the namespace green. Using of network
namespace requires its support from underlying Operating
System. Attempt to specify a network namespace for a
platform that doesn't support it results in error during
socket creation.
--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. Possible values are NONE and
CRC32; default is CRC32.
--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-encryption Enable/disable binary and relay logs encryption.
--binlog-error-action=name
When statements cannot be written to the binary log due
to a fatal error, the server can either ignore the error
and let the master continue, or abort.
--binlog-expire-logs-seconds=#
If non-zero, binary logs will be purged after
binlog_expire_logs_seconds seconds; If both this option
and expire_logs_days are set to non-zero values, this
option takes priority. Purges happen at startup and at
binary log rotation.
--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. If NDBCLUSTER is enabled and
binlog-format is MIXED, the format switches to row-based
and back implicitly per each query accessing an
NDBCLUSTER table
--binlog-group-commit-sync-delay=#
The number of microseconds the server waits for the
binary log group commit sync queue to fill before
continuing. Default: 0. Min: 0. Max: 1000000.
--binlog-group-commit-sync-no-delay-count=#
If there are this many transactions in the commit sync
queue and the server is waiting for more transactions to
be enqueued (as set using
--binlog-group-commit-sync-delay), the commit procedure
resumes.
--binlog-gtid-simple-recovery
If this option is enabled, the server does not open more
than two binary logs when initializing GTID_PURGED and
GTID_EXECUTED, either during server restart or when
binary logs are being purged. Enabling this option is
useful when the server has already generated many binary
logs without GTID events (e.g., having GTID_MODE = OFF).
Note: If this option is enabled, GLOBAL.GTID_EXECUTED and
GLOBAL.GTID_PURGED may be initialized wrongly in two
cases: (1) All binary logs were generated by MySQL 5.7.5
or older, and GTID_MODE was ON for some binary logs but
OFF for the newest binary log. (2) The oldest existing
binary log was generated by MySQL 5.7.5 or older, and SET
GTID_PURGED was issued after the oldest binary log was
generated. If a wrong set is computed in one of case (1)
or case (2), it will remain wrong even if the server is
later restarted with this option disabled.
(Defaults to on; use --skip-binlog-gtid-simple-recovery to disable.)
--binlog-ignore-db=name
Tells the master that updates to the given database
should not be logged to the binary log.
--binlog-max-flush-queue-time=#
The maximum time that the binary log group commit will
keep reading transactions before it flush the
transactions to the binary log (and optionally sync,
depending on the value of sync_binlog).
--binlog-order-commits
Issue internal commit calls in the same order as
transactions are written to the binary log. Default is to
order commits.
(Defaults to on; use --skip-binlog-order-commits to disable.)
--binlog-rotate-encryption-master-key-at-startup
Force binlog encryption master key rotation at startup
--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 (e.g. 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 or MINIMAL
format. FULL causes all metadata to be logged; MINIMAL
means that only metadata actually required by slave is
logged. Default: MINIMAL.
--binlog-row-value-options=name
When set to PARTIAL_JSON, this option enables a
space-efficient row-based binary log format for UPDATE
statements that modify a JSON value using only the
functions JSON_SET, JSON_REPLACE, and JSON_REMOVE. For
such updates, only the modified parts of the JSON
document are included in the binary log, so small changes
of big documents may need significantly less space.
--binlog-rows-query-log-events
Allow writing of Rows_query_log events into binary 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
--binlog-transaction-compression
Whether to compress transactions or not. Transactions are
compressed using the ZSTD compression algorythm.
--binlog-transaction-compression-level-zstd=#
Specifies the transaction compression level for ZSTD
transaction compression in the binary log.
--binlog-transaction-dependency-history-size=#
Maximum number of rows to keep in the writeset history.
--binlog-transaction-dependency-tracking=name
Selects the source of dependency information from which
to assess which transactions can be executed in parallel
by the slave's multi-threaded applier. Possible values
are COMMIT_ORDER, WRITESET and WRITESET_SESSION.
--blackhole[=name] Enable or disable BLACKHOLE plugin. Possible values are
ON, OFF, FORCE (don't start if the plugin fails to load).
--block-encryption-mode=name
mode for AES_ENCRYPT/AES_DECRYPT
--bulk-insert-buffer-size=#
Size of tree cache used in bulk insert optimisation. Note
that this is a limit per thread!
--caching-sha2-password-auto-generate-rsa-keys
Auto generate RSA keys at server startup if corresponding
system variables are not specified and key files are not
present at the default location.
(Defaults to on; use --skip-caching-sha2-password-auto-generate-rsa-keys to disable.)
--caching-sha2-password-private-key-path=name
A fully qualified path to the private RSA key used for
authentication.
--caching-sha2-password-public-key-path=name
A fully qualified path to the public RSA key used for
authentication.
--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
--check-proxy-users If set to FALSE (the default), then proxy user identity
will not be mapped for authentication plugins which
support mapping from grant tables. When set to TRUE,
users associated with authentication plugins which signal
proxy user mapping should be done according to GRANT
PROXY privilege definition.
-r, --chroot=name Chroot mysqld daemon during startup.
--collation-server=name
Set the default collation.
--completion-type=name
The transaction completion type, one of NO_CHAIN, CHAIN,
RELEASE
--concurrent-insert[=name]
Use concurrent insert with MyISAM. Possible values are
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 errors.
--create-admin-listener-thread
Use a dedicated thread for listening incoming connections
on admin interface
--cte-max-recursion-depth=#
Abort a recursive common table expression if it does more
than this number of iterations.
-D, --daemonize Run mysqld as sysv daemon
-h, --datadir=name Path to the database root directory
--default-authentication-plugin=name
The default authentication plugin used by the server to
hash the password.
--default-password-lifetime=#
The number of days after which the password will expire.
--default-storage-engine=name
The default storage engine for new tables
--default-table-encryption
Database and tablespace are created with this default
encryption property unless the user specifies an explicit
encryption property.
--default-time-zone=name
Set the default time zone.
--default-tmp-storage-engine=name
The default storage engine for new explicit temporary
tables
--default-week-format=#
The default week format used by WEEK() functions
--delay-key-write[=name]
Type of DELAY_KEY_WRITE
--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. This variable is deprecated along with
INSERT DELAYED.
--delayed-insert-timeout=#
How long a INSERT DELAYED thread should wait for INSERT
statements before terminating. This variable is
deprecated along with INSERT DELAYED.
--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. This variable is deprecated
along with INSERT DELAYED.
--disabled-storage-engines=name
Limit CREATE TABLE for the storage engines listed
--disconnect-on-expired-password
Give clients that don't signal password expiration
support execution time error(s) instead of connection
error
(Defaults to on; use --skip-disconnect-on-expired-password to disable.)
--disconnect-slave-event-count=#
Option used by mysql-test for debugging and testing of
replication.
--div-precision-increment=#
Precision of the result of '/' operator will be increased
on that value
--early-plugin-load=name
Optional semicolon-separated list of plugins to load
before storage engine initialization, where each plugin
is identified as name=library, where name is the plugin
name and library is the plugin library in plugin_dir.
--end-markers-in-json
In JSON output ("EXPLAIN FORMAT=JSON" and optimizer
trace), if variable is set to 1, repeats the structure's
key (if it has one) near the closing bracket
--enforce-gtid-consistency[=name]
Prevents execution of statements that would be impossible
to log in a transactionally safe manner. Currently, the
disallowed statements include CREATE TEMPORARY TABLE
inside transactions, all updates to non-transactional
tables, and CREATE TABLE ... SELECT.
--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)
-T, --exit-info[=#] Used for debugging. Use at your own risk.
--expire-logs-days=#
If non-zero, binary logs will be purged after
expire_logs_days days; If this option alone is set on the
command line or in a configuration file, it overrides the
default value for binlog-expire-logs-seconds. If both
options are set to nonzero values,
binlog-expire-logs-seconds takes priority. 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. The old behavior is deprecated. The
variable can only be set by users having the SUPER
privilege.
(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.
--federated[=name] Enable or disable FEDERATED plugin. Possible values are
ON, OFF, FORCE (don't start if the plugin fails to load).
--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.
--general-log Log connections and queries to a table or log file.
Defaults to logging to a file hostname.log, or if
--log-output=TABLE is used, to a table mysql.general_log.
--general-log-file=name
Log connections and queries to given file
--generated-random-password-length=#
Determines the length randomly generated passwords in
CREATE USER-,SET PASSWORD- or ALTER USER statements
--group-concat-max-len=#
The maximum length of the result of function
GROUP_CONCAT()
--group-replication-consistency[=name]
Transaction consistency guarantee, possible values:
EVENTUAL, BEFORE_ON_PRIMARY_FAILOVER, BEFORE, AFTER,
BEFORE_AND_AFTER
--gtid-executed-compression-period[=#]
When binlog is disabled, a background thread wakes up to
compress the gtid_executed table every
gtid_executed_compression_period transactions, as a
special case, if variable is 0, the thread never wakes up
to compress the gtid_executed table.
--gtid-mode=name Controls whether Global Transaction Identifiers (GTIDs)
are enabled. Can be OFF, OFF_PERMISSIVE, ON_PERMISSIVE,
or ON. OFF means that no transaction has a GTID.
OFF_PERMISSIVE means that new transactions (committed in
a client session using GTID_NEXT='AUTOMATIC') are not
assigned any GTID, and replicated transactions are
allowed to have or not have a GTID. ON_PERMISSIVE means
that new transactions are assigned a GTID, and replicated
transactions are allowed to have or not have a GTID. ON
means that all transactions have a GTID. ON is required
on a master before any slave can use
MASTER_AUTO_POSITION=1. To safely switch from OFF to ON,
first set all servers to OFF_PERMISSIVE, then set all
servers to ON_PERMISSIVE, then wait for all transactions
without a GTID to be replicated and executed on all
servers, and finally set all servers to GTID_MODE = ON.
-?, --help Display this help and exit.
--histogram-generation-max-mem-size=#
Maximum amount of memory available for generating
histograms
--host-cache-size=# How many host names should be cached to avoid resolving.
--information-schema-stats-expiry=#
The number of seconds after which mysqld server will
fetch data from storage engine and replace the data in
cache.
--init-connect=name Command(s) that are executed for each new connection
--init-file=name Read SQL commands from this file at startup
--init-slave=name Command(s) that are executed by a slave server each time
the SQL thread starts
-I, --initialize Create the default database and exit. Create a super user
with a random expired password and store it into the log.
--initialize-insecure
Create the default database and exit. Create a super user
with empty password.
--innodb Deprecated option. Provided for backward compatibility
only. The option has no effect on the server behaviour.
InnoDB is always enabled. The option will be removed in a
future release.
--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 (enabled by default).
Disable with --skip-innodb-adaptive-hash-index.
(Defaults to on; use --skip-innodb-adaptive-hash-index to disable.)
--innodb-adaptive-hash-index-parts[=#]
Number of InnoDB Adapative Hash Index Partitions.
(default = 8).
--innodb-adaptive-max-sleep-delay=#
The upper limit of the sleep delay in usec. Value of 0
disables it.
--innodb-api-bk-commit-interval[=#]
Background commit interval in seconds
--innodb-api-disable-rowlock
Disable row lock when direct access InnoDB through InnoDB
APIs
--innodb-api-enable-binlog
Enable binlog for applications direct access InnoDB
through InnoDB APIs
--innodb-api-enable-mdl
Enable MDL for applications direct access InnoDB through
InnoDB APIs
--innodb-api-trx-level[=#]
InnoDB API transaction isolation level
--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-buffer-pool-chunk-size=#
Size of a single memory chunk within each buffer pool
instance for resizing buffer pool. Online buffer pool
resizing happens at this granularity.
--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-in-core-file
This option has no effect if @@core_file is OFF. If
@@core_file is ON, and this option is OFF, then the core
dump file will be generated only if it is possible to
exclude buffer pool from it. As soon as it will be
determined that such exclusion is impossible a warning
will be emitted and @@core_file will be set to OFF to
prevent generating a core dump. If this option is enabled
(which is the default), then core dumping logic will not
be affected.
(Defaults to on; use --skip-innodb-buffer-pool-in-core-file to disable.)
--innodb-buffer-pool-instances=#
Number of buffer pool instances, set to higher value on
high-end machines to increase scalability
--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-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 reduce random access: OFF, ON,
inserting, deleting, changing, or purging.
--innodb-checksum-algorithm=name
The algorithm InnoDB uses for page checksumming. Possible
values are CRC32 (hardware accelerated if the CPU
supports it) write crc32, allow any of the other
checksums to match when reading; STRICT_CRC32 write
crc32, do not allow other algorithms to match when
reading; INNODB write a software calculated checksum,
allow any other checksums to match when reading;
STRICT_INNODB write a software calculated checksum, do
not allow other algorithms to match when reading; NONE
write a constant magic number, do not do any checksum
verification when reading; STRICT_NONE write a constant
magic number, do not allow values other than that magic
number when reading; Files updated when this option is
set to crc32 or strict_crc32 will not be readable by
MySQL versions older than 5.6.3
--innodb-cmp-per-index-enabled
Enable INFORMATION_SCHEMA.innodb_cmp_per_index, may have
negative impact on performance (off by default)
--innodb-commit-concurrency=#
Helps in performance tuning in heavily concurrent
environments.
--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 compressed row format. 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-concurrency-tickets=#
Number of times a thread is allowed to enter InnoDB
within the same SQL query after it has once got the
ticket
--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-dedicated-server
Automatically scale innodb_buffer_pool_size and
innodb_log_file_size based on system memory. Also set
innodb_flush_method=O_DIRECT_NO_FSYNC, if supported
--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
--innodb-directories=name
List of directories 'dir1;dir2;..;dirN' to scan for
tablespace files. Default is to scan
'innodb-data-home-dir;innodb-undo-directory;datadir'
--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-doublewrite-batch-size=#
Number of double write pages to write in a batch
--innodb-doublewrite-dir=name
Use a separate directory for the doublewrite buffer
files,
--innodb-doublewrite-files=#
Number of double write files
--innodb-doublewrite-pages=#
Number of double write pages per thread
--innodb-extend-and-initialize
Initialize the allocated space by writing zeros (enabled
by default).
(Defaults to on; use --skip-innodb-extend-and-initialize to disable.)
--innodb-fast-shutdown[=#]
Speeds up the shutdown process of the InnoDB storage
engine. Possible values are 0, 1 (faster) or 2 (fastest -
crash-like).
--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[=#]
Set to 0 (write and flush once per second), 1 (write and
flush at each commit), or 2 (write at commit, flush once
per second).
--innodb-flush-method=name
With which method to flush data
--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-load-corrupted
Force InnoDB to load metadata of corrupted table.
--innodb-force-recovery=#
Helps to save your data in case the disk image of the
database becomes corrupt.
--innodb-fsync-threshold=#
The value of this variable determines how often InnoDB
calls fsync when creating a new file. Default is zero
which would make InnoDB flush the entire file at once
before closing it.
--innodb-ft-aux-table
FTS internal auxiliary table to be checked
--innodb-ft-cache-size=#
InnoDB Fulltext search cache size in bytes
--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-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-idle-flush-pct=#
Up to what percentage of dirty pages to be flushed when
server is found idle.
--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. Values above 100000000
disable the timeout.
--innodb-log-buffer-size=#
The size of the buffer which InnoDB uses to write log to
the log files on disk.
--innodb-log-checksums
Whether to compute and require checksums for InnoDB redo
log blocks
(Defaults to on; use --skip-innodb-log-checksums to disable.)
--innodb-log-compressed-pages
Enables/disables the logging of entire compressed page
images. InnoDB logs the compressed pages to prevent
corruption if the zlib compression algorithm changes.
When turned OFF, InnoDB will assume that the zlib
compression algorithm doesn't change.
(Defaults to on; use --skip-innodb-log-compressed-pages to disable.)
--innodb-log-file-size=#
Size of each log file (in bytes).
--innodb-log-files-in-group=#
Number of log files (when multiplied by
innodb_log_file_size gives total size of log files).
InnoDB writes to files in a circular fashion.
--innodb-log-group-home-dir=name
Path to InnoDB log files.
--innodb-log-spin-cpu-abs-lwm=#
Minimum value of cpu time for which spin-delay is used.
Expressed in percentage of single cpu core.
--innodb-log-spin-cpu-pct-hwm=#
Maximum value of cpu time for which spin-delay is used.
Expressed in percentage of all cpu cores.
--innodb-log-wait-for-flush-spin-hwm=#
Maximum value of average log flush time for which
spin-delay is used. When flushing takes longer, user
threads no longer spin when waiting forflushed redo.
Expressed in microseconds.
--innodb-log-write-ahead-size=#
Log write ahead unit size to avoid read-on-write, it
should match the OS cache block IO size.
--innodb-log-writer-threads
Whether the log writer threads should be activated (ON),
or write/flush of the redo log should be done by each
thread individually (OFF).
(Defaults to on; use --skip-innodb-log-writer-threads to disable.)
--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.
--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-undo-log-size[=#]
Maximum size of an UNDO tablespace in MB (If an UNDO
tablespace grows beyond this size it will be truncated in
due course).
--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-cleaners[=#]
Page cleaner threads can be from 1 to 64. Default is 4.
--innodb-page-size[=#]
Page size to use for all InnoDB tablespaces.
--innodb-parallel-read-threads=#
Number of threads to do parallel read.
--innodb-print-all-deadlocks
Print all deadlocks to MySQL error log (off by default)
--innodb-print-ddl-logs
Print all DDl logs to MySQL 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[=#]
Dictates rate at which UNDO records are purged. Value N
means purge rollback segment(s) on every Nth iteration of
purge invocation
--innodb-purge-threads[=#]
Purge threads can be from 1 to 32. Default is 4.
--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-redo-log-archive-dirs=name
Limit the location of the redo log archive to the
semicolon separated list of labeled directories
--innodb-redo-log-encrypt
Enable or disable Encryption of REDO tablespace.
--innodb-replication-delay=#
Replication thread delay (ms) on the slave server if
innodb_thread_concurrency is reached (0 by default)
--innodb-rollback-on-timeout
Roll back the complete transaction on lock wait timeout,
for 4.x compatibility (disabled by default)
--innodb-rollback-segments[=#]
Number of rollback segments per tablespace. This applies
to the system tablespace, the temporary tablespace & any
undo tablespace.
--innodb-sort-buffer-size=#
Memory buffer size for index creation
--innodb-spin-wait-delay[=#]
Maximum delay between polling for a spin lock (6 by
default)
--innodb-spin-wait-pause-multiplier=#
Controls how many times in a row to use a PAUSE
instruction to achieve one unit of delay in a spin lock
(see @@innodb_spin_wait_delay), defaults to 50
--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
--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-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-array-size[=#]
Size of the mutex/lock wait array.
--innodb-sync-spin-loops=#
Count of spin-loop rounds in InnoDB mutexes (30 by
default)
--innodb-table-locks
Enable InnoDB locking in LOCK TABLES
(Defaults to on; use --skip-innodb-table-locks to disable.)
--innodb-temp-data-file-path=name
Path to files and their sizes making temp-tablespace.
--innodb-temp-tablespaces-dir=name
Directory where temp tablespace files live, this path can
be absolute.
--innodb-thread-concurrency=#
Helps in performance tuning in heavily concurrent
environments. Sets the maximum number of threads allowed
inside InnoDB. Value 0 will disable the thread
throttling.
--innodb-thread-sleep-delay=#
Time of innodb thread sleeping before joining InnoDB
queue (usec). Value 0 disable a sleep
--innodb-tmpdir[=name]
Directory for temporary non-tablespace files.
--innodb-undo-directory=name
Directory where undo tablespace files live, this path can
be absolute.
--innodb-undo-log-encrypt
Enable or disable Encrypt of UNDO tablespace.
--innodb-undo-log-truncate
Enable or Disable Truncate of UNDO tablespace.
(Defaults to on; use --skip-innodb-undo-log-truncate to disable.)
--innodb-undo-tablespaces=#
Number of undo tablespaces to use. (deprecated)
--innodb-use-native-aio
Use native AIO if supported on this platform.
(Defaults to on; use --skip-innodb-use-native-aio to disable.)
--innodb-validate-tablespace-paths
Enable validation of tablespace paths against the DD.
(enabled by default). Disable with
--skip-innodb-validate-tablespace-paths.
(Defaults to on; use --skip-innodb-validate-tablespace-paths 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
--internal-tmp-mem-storage-engine=name
The default storage engine for in-memory internal
temporary tables.
--join-buffer-size=#
The size of the buffer that is used for full joins
--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
--keyring-migration-destination=name
Keyring plugin to which the keys are migrated to. This
option must be specified along with
--keyring-migration-source.
--keyring-migration-host=name
Connect to host.
-p, --keyring-migration-password[=name]
Password to use when connecting to server during keyring
migration. If password value is not specified then it
will be asked from the tty.
--keyring-migration-port=#
Port number to use for connection.
--keyring-migration-socket=name
The socket file to use for connection.
--keyring-migration-source=name
Keyring plugin from where the keys needs to be migrated
to. This option must be specified along with
--keyring-migration-destination.
--keyring-migration-user=name
User to login to server.
-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.
--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
--lock-wait-timeout=#
Timeout in seconds to wait for a lock before returning an
error.
--log-bin[=name] Configures the name prefix to use for binary log files.
If the --log-bin option is not supplied, the name prefix
defaults to "binlog". If the --log-bin option is supplied
without argument, the name prefix defaults to
"HOSTNAME-bin", where HOSTNAME is the machine's hostname.
To set a different name prefix for binary log files, use
--log-bin=name. To disable binary logging, use the
--skip-log-bin or --disable-log-bin option.
--log-bin-index=name
File that holds the names for 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-bin-use-v1-row-events
If equal to 1 then version 1 row events are written to a
row based binary log. If equal to 0, then the latest
version of events are written. This option is useful
during some upgrades.
--log-error[=name] Error log file
--log-error-services=name
Services that should be called when an error event is
received
--log-error-suppression-list=name
Comma-separated list of error-codes. Error messages
corresponding to these codes will not be included in the
error log. Only events with a severity of Warning or
Information can be suppressed; events with System or
Error severity will always be included. Requires the
filter 'log_filter_internal' to be set in
@@global.log_error_services, which is the default.
--log-error-verbosity=#
How detailed the error log should be. 1, log errors only.
2, log errors and warnings. 3, log errors, warnings, and
notes. Messages sent to the client are unaffected by this
setting.
--log-isam[=name] Log all MyISAM changes to file.
--log-output=name Syntax: log-output=value[,value...], where "value" could
be TABLE, FILE or NONE
--log-queries-not-using-indexes
Log queries that are executed without benefit of any
index to the slow log if it is open
--log-raw Log to general log before any rewriting of the query. For
use in debugging, not production as sensitive information
may be logged.
--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.
(Defaults to on; use --skip-log-slave-updates to disable.)
--log-slow-admin-statements
Log slow OPTIMIZE, ANALYZE, ALTER and other
administrative statements to the slow log if it is open.
--log-slow-extra Print more attributes to the slow query log file. Has no
effect on logging to table.
--log-slow-slave-statements
Log slow statements executed by slave thread to the slow
log if it is open.
--log-statements-unsafe-for-binlog
Log statements considered unsafe when using statement
based binary logging.
(Defaults to on; use --skip-log-statements-unsafe-for-binlog to disable.)
--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.
--log-throttle-queries-not-using-indexes=#
Log at most this many 'not using index' warnings per
minute to the slow log. Any further warnings will be
condensed into a single summary line. A value of 0
disables throttling. Option has no effect unless
--log_queries_not_using_indexes is set.
--log-timestamps=name
UTC to timestamp log files in zulu time, for more concise
timestamps and easier correlation of logs from servers
from multiple time zones, or SYSTEM to use the system's
local time. This affects only log files, not log tables,
as the timestamp columns of the latter can be converted
at will.
--long-query-time=# Log all queries that have taken more than long_query_time
seconds to execute to 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
--mandatory-roles=name
All the specified roles are always considered granted to
every user and they can't be revoked. Mandatory roles
still require activation unless they are made into
default roles. The granted roles will not be visible in
the mysql.role_edges table.
--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. Deprecated option that shall be removed
eventually without a replacement.
--master-info-repository=name
Defines the type of the repository for the master
information.
--master-retry-count=#
The number of tries the slave will make to connect to the
master before giving up. Deprecated option, use 'CHANGE
MASTER TO master_retry_count = <num>' instead.
--master-verify-checksum
Force checksum verification of logged events in binary
log before sending them to slaves or printing them in
output of SHOW BINLOG EVENTS. Disabled by default.
--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-dump-events=#
Option used by mysql-test for debugging and testing of
replication.
--max-binlog-size=# Binary log will be rotated automatically when the size
exceeds this value. Will also apply to relay logs if
max_relay_log_size is 0
--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. This variable is deprecated along with
INSERT DELAYED.
--max-digest-length=#
Maximum length considered for digest text.
--max-error-count=# Max number of errors/warnings to store for a statement
--max-execution-time=#
Kill SELECT statement that takes over the specified
number of milliseconds
--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=#
This variable is deprecated and will be removed in a
future release.
--max-points-in-geometry[=#]
Maximum number of points in a geometry
--max-prepared-stmt-count=#
Maximum number of prepared statements in the server
--max-relay-log-size=#
If non-zero: relay log will be rotated automatically when
the size exceeds this value; if zero: when the size
exceeds max_binlog_size
--max-seeks-for-key=#
Limit assumed max number of seeks when looking up rows
based on a key
--max-sort-length=# The number of bytes to use when sorting long values with
PAD SPACE collations (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-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.
--min-examined-row-limit=#
Don't write queries to slow log that examine fewer rows
than that
--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]
Syntax: myisam-recover-options[=option[,option...]],
where option can be DEFAULT, BACKUP, FORCE, QUICK, or OFF
--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
--mysql-native-password-proxy-users
If set to FALSE (the default), then the
mysql_native_password plugin will not signal for
authenticated users to be checked for mapping to proxy
users. When set to TRUE, the plugin will flag associated
authenticated accounts to be mapped to proxy users when
the server option check_proxy_users is enabled.
--mysqlx[=name] Enable or disable mysqlx plugin. Possible values are ON,
OFF, FORCE (don't start if the plugin fails to load).
--mysqlx-bind-address[=name]
Address to which X Plugin should bind the TCP socket
optionally followed by a network namespace delimited with
/. E.g., the string value 127.0.0.1/red specifies to
listen on IP address 127.0.0.1 from the network namespace
'red'.
--mysqlx-cache-cleaner[=name]
Enable or disable mysqlx_cache_cleaner plugin. Possible
values are ON, OFF, FORCE (don't start if the plugin
fails to load).
--mysqlx-compression-algorithms[=name]
Compression algorithms: where option can be
DEFLATE_STREAM, LZ4_MESSAGE, ZSTD_STREAM
--mysqlx-connect-timeout[=#]
Maximum allowed waiting time for connection to setup a
session (in seconds).
--mysqlx-deflate-default-compression-level[=#]
Default value of compression level for deflate algorithm
--mysqlx-deflate-max-client-compression-level[=#]
Max value of compression level for deflate algorithm
--mysqlx-document-id-unique-prefix[=#]
Unique prefix is a value assigned by InnoDB cluster to
the instance, which is meant to make document id unique
across all replicasets from the same cluster
--mysqlx-enable-hello-notice
Hello notice is a X Protocol message send by the server
after connection establishment, using this variable it
can be disabled
(Defaults to on; use --skip-mysqlx-enable-hello-notice to disable.)
--mysqlx-idle-worker-thread-timeout[=#]
Time after which an idle worker thread is terminated (in
seconds).
--mysqlx-interactive-timeout[=#]
Default value for "mysqlx_wait_timeout", when the
connection is interactive. The value defines number or
seconds that X Plugin must wait for activity on
interactive connection
--mysqlx-lz4-default-compression-level[=#]
Default value of compression level for lz4 algorithm
--mysqlx-lz4-max-client-compression-level[=#]
Max value of compression level for lz4 algorithm
--mysqlx-max-allowed-packet[=#]
Size of largest message that client is going to handle.
--mysqlx-max-connections[=#]
Maximum number of concurrent X protocol connections.
Actual number of connections is also affected by the
general max_connections.
--mysqlx-min-worker-threads[=#]
Minimal number of worker threads.
--mysqlx-port[=#] Port on which X Plugin is going to accept incoming
connections.
--mysqlx-port-open-timeout[=#]
How long X Plugin is going to retry binding of server
socket (in case of failure)
--mysqlx-read-timeout[=#]
Number or seconds that X Plugin must wait for blocking
read operation to complete
--mysqlx-socket[=name]
X Plugin's unix socket for local connection.
--mysqlx-ssl-ca=name
CA file in PEM format.
--mysqlx-ssl-capath=name
CA directory.
--mysqlx-ssl-cert=name
X509 cert in PEM format.
--mysqlx-ssl-cipher=name
SSL cipher to use.
--mysqlx-ssl-crl=name
Certificate revocation list.
--mysqlx-ssl-crlpath=name
Certificate revocation list path.
--mysqlx-ssl-key=name
X509 key in PEM format.
--mysqlx-wait-timeout[=#]
Number or seconds that X Plugin must wait for activity on
noninteractive connection
--mysqlx-write-timeout[=#]
Number or seconds that X Plugin must wait for blocking
write operation to complete
--mysqlx-zstd-default-compression-level[=#]
Default value of compression level for zstd algorithm
--mysqlx-zstd-max-client-compression-level[=#]
Max value of compression level for zstd algorithm
--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
-n, --new Use very new possible "unsafe" functions
--ngram[=name] Enable or disable ngram plugin. Possible values are ON,
OFF, FORCE (don't start if the plugin fails to load).
--ngram-token-size=#
InnoDB ngram full text plugin parser token size in
characters
--no-dd-upgrade Abort restart if automatic upgrade or downgrade of the
data dictionary is needed. Deprecated option. Use
--upgrade=NONE instead.
--offline-mode Make the server into offline mode
--old Use compatible behavior
--old-alter-table Use old, non-optimized alter table
--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 then mysqld will reserve max_connections*5 or
max_connections + table_open_cache*2 (whichever is
larger) number of file descriptors
--optimizer-prune-level=#
Controls the heuristic(s) applied during query
optimization to prune less-promising partial plans from
the optimizer search space. Meaning: 0 - do not apply any
heuristic, thus perform exhaustive search; 1 - prune
plans based on number of retrieved rows
--optimizer-search-depth=#
Maximum depth of search performed by the query optimizer.
Values larger than the number of relations in a query
result in better query plans, but take longer to compile
a query. 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-switch=name
optimizer_switch=option=val[,option=val...], where option
is one of {index_merge, index_merge_union,
index_merge_sort_union, index_merge_intersection,
engine_condition_pushdown, index_condition_pushdown, mrr,
mrr_cost_based, materialization, semijoin, loosescan,
firstmatch, duplicateweedout,
subquery_materialization_cost_based, skip_scan,
block_nested_loop, batched_key_access,
use_index_extensions, condition_fanout_filter,
derived_merge, hash_join, subquery_to_derived,
prefer_ordering_index, derived_condition_pushdown} and
val is one of {on, off, default}
--optimizer-trace=name
Controls tracing of the Optimizer:
optimizer_trace=option=val[,option=val...], where option
is one of {enabled, one_line} and val is one of {on,
default}
--optimizer-trace-features=name
Enables/disables tracing of selected features of the
Optimizer:
optimizer_trace_features=option=val[,option=val...],
where option is one of {greedy_search, range_optimizer,
dynamic_range, repeated_subselect} and val is one of {on,
off, default}
--optimizer-trace-limit=#
Maximum number of shown optimizer traces
--optimizer-trace-max-mem-size=#
Maximum allowed cumulated size of stored optimizer traces
--optimizer-trace-offset=#
Offset of first optimizer trace to show; see manual
--parser-max-mem-size=#
Maximum amount of memory available to the parser
--partial-revokes Access of database objects can be restricted, even if
user has global privileges granted.
--password-history=#
The number of old passwords to check in the history. Set
to 0 (the default) to turn the checks off
--password-require-current
Current password is needed to be specified in order to
change it
--password-reuse-interval=#
The minimum number of days that need to pass before a
password can be reused. Set to 0 (the default) to turn
the checks off
--performance-schema
Enable the performance schema.
(Defaults to on; use --skip-performance-schema to disable.)
--performance-schema-accounts-size=#
Maximum number of instrumented user@host accounts. Use 0
to disable, -1 for automated scaling.
--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.
(Defaults to on; use --skip-performance-schema-consumer-events-statements-current to disable.)
--performance-schema-consumer-events-statements-history
Default startup value for the events_statements_history
consumer.
(Defaults to on; use --skip-performance-schema-consumer-events-statements-history to disable.)
--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.
(Defaults to on; use --skip-performance-schema-consumer-events-transactions-current to disable.)
--performance-schema-consumer-events-transactions-history
Default startup value for the events_transactions_history
consumer.
(Defaults to on; use --skip-performance-schema-consumer-events-transactions-history to disable.)
--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-error-size=#
Number of server errors instrumented.
--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 scaling.
--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 scaling.
--performance-schema-max-digest-length=#
Maximum length considered for digest text, when stored in
performance_schema tables.
--performance-schema-max-digest-sample-age=#
The time in seconds after which a previous query sample
is considered old. When the value is 0, queries are
sampled once. When the value is greater than zero,
queries are re sampled if the last sample is more than
performance_schema_max_digest_sample_age seconds old.
--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 scaling.
--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 scaling.
--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 scaling.
--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 scaling.
--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 scaling.
--performance-schema-max-table-instances=#
Maximum number of instrumented tables. Use 0 to disable,
-1 for automated scaling.
--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 scaling.
--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. Use 0 to disable,
-1 for automated scaling.
--performance-schema-setup-objects-size=#
Maximum number of rows in SETUP_OBJECTS. Use 0 to
disable, -1 for automated scaling.
--performance-schema-show-processlist
Default startup value to enable SHOW PROCESSLIST in the
performance schema.
--performance-schema-users-size=#
Maximum number of instrumented users. Use 0 to disable,
-1 for automated scaling.
--persist-only-admin-x509-subject[=name]
The client peer certificate name required to enable
setting all system variables via SET PERSIST[_ONLY]
--persisted-globals-load
When this option is enabled, config file mysqld-auto.cnf
is read and applied to server, else this file is ignored
even if present.
(Defaults to on; use --skip-persisted-globals-load to disable.)
--pid-file=name Pid file used by safe_mysqld
--plugin-dir=name Directory for plugins
--plugin-load=name Optional semicolon-separated list of plugins to load,
where each plugin is identified as name=library, where
name is the plugin name and library is the plugin library
in plugin_dir.
--plugin-load-add=name
Optional semicolon-separated list of plugins to load,
where each plugin is identified as name=library, where
name is the plugin name and library is the plugin library
in plugin_dir. This option adds to the list specified by
--plugin-load in an incremental way. Multiple
--plugin-load-add are supported.
-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
--print-identified-with-as-hex
SHOW CREATE USER will print the AS clause as HEX if it
contains non-prinable characters
--profiling-history-size=#
Limit of query profiling memory
--protocol-compression-algorithms=name
List of compression algorithms supported by server.
Supported values are any combination of zlib, zstd,
uncompressed. Command line clients may use the
--compression-algorithms flag to specify a set of
algorithms, and the connection will use an algorithm
supported by both client and server. It picks zlib if
both client and server support it; otherwise it picks
zstd if both support it; otherwise it picks uncompressed
if both support it; otherwise it fails.
--query-alloc-block-size=#
Allocation block size for query parsing and execution
--query-prealloc-size=#
Persistent buffer for query parsing and execution
--range-alloc-block-size=#
Allocation block size for storing ranges during
optimization
--range-optimizer-max-mem-size=#
Maximum amount of memory used by the range optimizer to
allocate predicates during range analysis. The larger the
number, more memory may be consumed during range
analysis. If the value is too low to completed range
optimization of a query, index range scan will not be
considered for this query. A value of 0 means range
optimizer does not have any cap on memory.
--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 SUPER 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
--regexp-stack-limit=#
Stack size limit for regular expressions matches
--regexp-time-limit=#
Timeout for regular expressions matches, in steps of the
match engine, typically on the order of milliseconds.
--relay-log=name The location and name to use for relay logs
--relay-log-index=name
File that holds the names for relay log files.
--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-info-repository=name
Defines the type of the repository for the relay log
information and associated workers.
--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-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-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 socket or Shared Memory (on Windows).
--rpl-read-size=# The size for reads done from the binlog and relay log. It
must be a multiple of 4kb. Making it larger might help
with IO stalls while reading these files when they are
not in the OS buffer cache
--rpl-stop-slave-timeout=#
Timeout in seconds to wait for slave to stop before
returning a warning.
--safe-user-create Don't allow new user creation by the user who has no
write privileges to the mysql.user table.
--schema-definition-cache=#
The number of cached schema definitions
--secondary-engine-cost-threshold[=#]
Controls which statements to consider for execution in a
secondary storage engine. Only statements that have a
cost estimate higher than this value will be attempted
executed in a secondary storage engine.
--secure-file-priv=name
Limit LOAD DATA, SELECT ... OUTFILE, and LOAD_FILE() to
files within specified directory
--select-into-buffer-size[=#]
Buffer size for SELECT INTO OUTFILE/DUMPFILE.
--select-into-disk-sync
Synchronize flushed buffer with disk for SELECT INTO
OUTFILE/DUMPFILE.
--select-into-disk-sync-delay[=#]
The delay in milliseconds after each buffer sync for
SELECT INTO OUTFILE/DUMPFILE. Requires
select_into_sync_disk = ON.
--server-id=# Uniquely identifies the server instance in the community
of replication partners
--server-id-bits=# Set number of significant bits in server-id
--session-track-gtids=name
Controls the amount of global transaction ids to be
included in the response packet sent by the
server.(Default: OFF).
--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).
--sha256-password-auto-generate-rsa-keys
Auto generate RSA keys at server startup if corresponding
system variables are not specified and key files are not
present at the default location.
(Defaults to on; use --skip-sha256-password-auto-generate-rsa-keys to disable.)
--sha256-password-private-key-path=name
A fully qualified path to the private RSA key used for
authentication
--sha256-password-proxy-users
If set to FALSE (the default), then the sha256_password
authentication plugin will not signal for authenticated
users to be checked for mapping to proxy users. When set
to TRUE, the plugin will flag associated authenticated
accounts to be mapped to proxy users when the server
option check_proxy_users is enabled.
--sha256-password-public-key-path=name
A fully qualified path to the public RSA key used for
authentication
--show-create-table-verbosity
When this option is enabled, it increases the verbosity
of 'SHOW CREATE TABLE'.
--show-old-temporals
When this option is enabled, the pre-5.6.4 temporal types
will be marked in the 'SHOW CREATE TABLE' and
'INFORMATION_SCHEMA.COLUMNS' table as a comment in
COLUMN_TYPE field. This variable is deprecated and will
be removed in a future release.
--show-slave-auth-info
Show user and password in SHOW SLAVE HOSTS on this
master.
--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-new Don't use new, possibly wrong routines.
--skip-show-database
Don't allow 'SHOW DATABASE' commands
--skip-slave-start If set, slave is not autostarted.
--skip-stack-trace Don't print a stack trace on failure.
--slave-allow-batching
Allow slave to batch requests
--slave-checkpoint-group=#
Maximum number of processed transactions by
Multi-threaded slave before a checkpoint operation is
called to update progress status.
--slave-checkpoint-period=#
Gather workers' activities to Update progress status of
Multi-threaded slave and flush the relay log info to disk
after every #th milli-seconds.
--slave-compressed-protocol
Use compression on master/slave protocol
--slave-exec-mode=name
Modes for how replication events should be executed.
Legal values are STRICT (default) and IDEMPOTENT. In
IDEMPOTENT mode, replication will not stop for operations
that are idempotent. In STRICT mode, replication will
stop on any unexpected difference between the master and
the slave
--slave-load-tmpdir=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-net-timeout=#
Number of seconds to wait for more data from a
master/slave connection before aborting the read
--slave-parallel-type=name
Specifies if the slave will use database partitioning or
information from master to parallelize
transactions.(Default: DATABASE).
--slave-parallel-workers=#
Number of worker threads for executing events in parallel
--slave-pending-jobs-size-max=#
Max size of Slave Worker queues holding not yet applied
events. The least possible value must be not less than
the master side max_allowed_packet.
--slave-preserve-commit-order
Force slave workers to make commits in the same order as
on the master. Disabled by default.
--slave-rows-search-algorithms=name
Set of searching algorithms that the slave will use while
searching for records from the storage engine to either
updated or deleted them. Possible values are: INDEX_SCAN,
TABLE_SCAN and HASH_SCAN. Any combination is allowed, and
the slave will always pick the most suitable algorithm
for any given scenario. (Default: INDEX_SCAN, HASH_SCAN).
--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. Enabled by
default.
(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 or elapsed
lock wait timeout, before giving up and stopping
--slave-type-conversions=name
Set of slave type conversions that are enabled. Legal
values are: ALL_LOSSY to enable lossy conversions,
ALL_NON_LOSSY to enable non-lossy conversions,
ALL_UNSIGNED to treat all integer column type data to be
unsigned values, and ALL_SIGNED to treat all integer
column type data to be signed values. Default treatment
is ALL_SIGNED. If ALL_SIGNED and ALL_UNSIGNED both are
specified, ALL_SIGNED will take higher priority than
ALL_UNSIGNED. If the variable is assigned the empty set,
no conversions are allowed and it is expected that the
types match exactly.
--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 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
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
--sporadic-binlog-dump-fail
Option used by mysql-test for debugging and testing of
replication.
--sql-mode=name Syntax: sql-mode=mode[,mode[,mode...]]. See the manual
for the complete list of valid sql modes
--sql-require-primary-key
When set, tables must be created with a primary key, and
an existing primary key cannot be removed with 'ALTER
TABLE'. Attempts to do so will result in an error.
--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-crl=name CRL file in PEM format (check OpenSSL docs, implies
--ssl)
--ssl-crlpath=name CRL directory (check OpenSSL docs, implies --ssl)
--ssl-fips-mode=name
SSL FIPS mode (applies only for OpenSSL); permitted
values are: OFF, ON, STRICT
--ssl-key=name X509 key in PEM format (implies --ssl)
--stored-program-cache=#
The soft upper limit for number of cached stored routines
for one connection.
--stored-program-definition-cache=#
The number of cached stored program definitions
--super-large-pages Enable support for super large pages.
--super-read-only Make all non-temporary tables read-only, with the
exception for replication (slave) threads. Users with
the SUPER privilege are affected, unlike read_only.
Setting super_read_only to ON also sets read_only to ON.
-s, --symbolic-links
Enable symbolic link support (deprecated and will be
removed in a future release).
--sync-binlog=# Synchronously flush binary log to disk after every #th
write to the file. Use 0 to disable synchronous flushing
--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.
--table-definition-cache=#
The number of cached table definitions
--table-encryption-privilege-check
Indicates if server enables privilege check when user
tries to use non-default value for CREATE DATABASE or
CREATE TABLESPACE or when user tries to do CREATE TABLE
with ENCRYPTION option which deviates from per-database
default.
--table-open-cache=#
The number of cached open tables (total for all table
cache instances)
--table-open-cache-instances=#
The number of table cache instances
--tablespace-definition-cache=#
The number of cached tablespace definitions
--tc-heuristic-recover=name
Decision to use in heuristic recover process. Possible
values are OFF, COMMIT or ROLLBACK.
--temptable-max-ram=#
Maximum amount of memory (in bytes) the TempTable storage
engine is allowed to allocate from the main memory (RAM)
before starting to store data on disk.
--temptable-use-mmap
Use mmap files for temptables
(Defaults to on; use --skip-temptable-use-mmap to disable.)
--thread-cache-size=#
How many threads we should keep in a cache for reuse
--thread-handling=name
Define threads usage for handling queries, one of
one-thread-per-connection, no-threads, loaded-dynamically
--thread-stack=# The stack size for each thread
--tls-ciphersuites=name
TLS v1.3 ciphersuite to use (implies --ssl)
--tls-version=name TLS version, permitted values are TLSv1, TLSv1.1,
TLSv1.2, TLSv1.3
--tmp-table-size=# If an internal in-memory temporary table in the MEMORY
storage engine exceeds this size, MySQL will
automatically convert it to an on-disk 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.
--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.
--transaction-write-set-extraction[=name]
This option is used to let the server know when to
extract the write set which will be used for various
purposes.
--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)
--upgrade=name Set server upgrade mode. NONE to abort server if
automatic upgrade of the server is needed; MINIMAL to
start the server, but skip upgrade steps that are not
absolutely necessary; AUTO (default) to upgrade the
server if required; FORCE to force upgrade server.
-u, --user=name Run mysqld daemon as user.
--validate-config Validate the server configuration specified by the user.
--validate-user-plugins
Turns on additional validation of authentication plugins
assigned to user accounts.
(Defaults to on; use --skip-validate-user-plugins to disable.)
-v, --verbose Used with --help option for detailed help.
-V, --version Output version information and exit.
--wait-timeout=# The number of seconds the server waits for activity on a
connection before closing it
--windowing-use-high-precision
For SQL window functions, determines whether to enable
inversion optimization for moving window frames also for
floating values.
(Defaults to on; use --skip-windowing-use-high-precision to disable.)
Variables (--variable-name=value)
and boolean options {FALSE|TRUE} Value (after reading options)
------------------------------------------------------------ -------------
abort-slave-event-count 0
activate-all-roles-on-login FALSE
admin-address (No default value)
admin-port 33062
admin-ssl TRUE
admin-ssl-ca (No default value)
admin-ssl-capath (No default value)
admin-ssl-cert (No default value)
admin-ssl-cipher (No default value)
admin-ssl-crl (No default value)
admin-ssl-crlpath (No default value)
admin-ssl-key (No default value)
admin-tls-ciphersuites (No default value)
admin-tls-version TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
allow-suspicious-udfs FALSE
archive ON
auto-generate-certs TRUE
auto-increment-increment 1
auto-increment-offset 1
autocommit TRUE
automatic-sp-privileges TRUE
avoid-temporal-upgrade FALSE
back-log 200
basedir /usr/local/mysql/
big-tables FALSE
bind-address *
binlog-cache-size 32768
binlog-checksum CRC32
binlog-direct-non-transactional-updates FALSE
binlog-encryption FALSE
binlog-error-action ABORT_SERVER
binlog-expire-logs-seconds 2592000
binlog-format ROW
binlog-group-commit-sync-delay 0
binlog-group-commit-sync-no-delay-count 0
binlog-gtid-simple-recovery TRUE
binlog-max-flush-queue-time 0
binlog-order-commits TRUE
binlog-rotate-encryption-master-key-at-startup FALSE
binlog-row-event-max-size 8192
binlog-row-image FULL
binlog-row-metadata MINIMAL
binlog-row-value-options
binlog-rows-query-log-events FALSE
binlog-stmt-cache-size 32768
binlog-transaction-compression FALSE
binlog-transaction-compression-level-zstd 3
binlog-transaction-dependency-history-size 25000
binlog-transaction-dependency-tracking COMMIT_ORDER
blackhole ON
block-encryption-mode aes-128-ecb
bulk-insert-buffer-size 8388608
caching-sha2-password-auto-generate-rsa-keys TRUE
caching-sha2-password-private-key-path private_key.pem
caching-sha2-password-public-key-path public_key.pem
character-set-client-handshake TRUE
character-set-filesystem binary
character-set-server utf8mb4
character-sets-dir /usr/local/mysql/share/charsets/
check-proxy-users FALSE
chroot (No default value)
collation-server utf8mb4_0900_ai_ci
completion-type NO_CHAIN
concurrent-insert AUTO
connect-timeout 10
console FALSE
create-admin-listener-thread FALSE
cte-max-recursion-depth 1000
daemonize FALSE
datadir /data/mysql/
default-authentication-plugin caching_sha2_password
default-password-lifetime 0
default-storage-engine InnoDB
default-table-encryption FALSE
default-time-zone (No default value)
default-tmp-storage-engine InnoDB
default-week-format 0
delay-key-write ON
delayed-insert-limit 100
delayed-insert-timeout 300
delayed-queue-size 1000
disabled-storage-engines
disconnect-on-expired-password TRUE
disconnect-slave-event-count 0
div-precision-increment 4
end-markers-in-json FALSE
enforce-gtid-consistency FALSE
eq-range-index-dive-limit 200
event-scheduler ON
expire-logs-days 3
explicit-defaults-for-timestamp TRUE
external-locking FALSE
federated ON
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 /data/mysql/ysbae.log
generated-random-password-length 20
group-concat-max-len 1024
group-replication-consistency EVENTUAL
gtid-executed-compression-period 1000
gtid-mode OFF
help TRUE
histogram-generation-max-mem-size 20000000
host-cache-size 328
information-schema-stats-expiry 86400
init-connect
init-file (No default value)
init-slave
initialize FALSE
initialize-insecure FALSE
innodb-adaptive-flushing TRUE
innodb-adaptive-flushing-lwm 10
innodb-adaptive-hash-index TRUE
innodb-adaptive-hash-index-parts 8
innodb-adaptive-max-sleep-delay 150000
innodb-api-bk-commit-interval 5
innodb-api-disable-rowlock FALSE
innodb-api-enable-binlog FALSE
innodb-api-enable-mdl FALSE
innodb-api-trx-level 0
innodb-autoextend-increment 64
innodb-autoinc-lock-mode 2
innodb-buffer-pool-chunk-size 134217728
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-in-core-file TRUE
innodb-buffer-pool-instances 0
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-change-buffer-max-size 25
innodb-change-buffering all
innodb-checksum-algorithm crc32
innodb-cmp-per-index-enabled FALSE
innodb-commit-concurrency 0
innodb-compression-failure-threshold-pct 5
innodb-compression-level 6
innodb-compression-pad-pct-max 50
innodb-concurrency-tickets 5000
innodb-data-file-path ibdata1:12M:autoextend
innodb-data-home-dir (No default value)
innodb-deadlock-detect TRUE
innodb-dedicated-server FALSE
innodb-default-row-format dynamic
innodb-directories (No default value)
innodb-disable-sort-file-cache FALSE
innodb-doublewrite TRUE
innodb-doublewrite-batch-size 0
innodb-doublewrite-dir (No default value)
innodb-doublewrite-files 0
innodb-doublewrite-pages 0
innodb-extend-and-initialize TRUE
innodb-fast-shutdown 1
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 fsync
innodb-flush-neighbors 0
innodb-flush-sync TRUE
innodb-flushing-avg-loops 30
innodb-force-load-corrupted FALSE
innodb-force-recovery 0
innodb-fsync-threshold 0
innodb-ft-aux-table (No default value)
innodb-ft-cache-size 8000000
innodb-ft-enable-diag-print FALSE
innodb-ft-enable-stopword TRUE
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-idle-flush-pct 100
innodb-io-capacity 200
innodb-io-capacity-max 18446744073709551615
innodb-lock-wait-timeout 50
innodb-log-buffer-size 16777216
innodb-log-checksums TRUE
innodb-log-compressed-pages TRUE
innodb-log-file-size 50331648
innodb-log-files-in-group 2
innodb-log-group-home-dir (No default value)
innodb-log-spin-cpu-abs-lwm 80
innodb-log-spin-cpu-pct-hwm 50
innodb-log-wait-for-flush-spin-hwm 400
innodb-log-write-ahead-size 8192
innodb-log-writer-threads TRUE
innodb-lru-scan-depth 1024
innodb-max-dirty-pages-pct 90
innodb-max-dirty-pages-pct-lwm 10
innodb-max-purge-lag 0
innodb-max-purge-lag-delay 0
innodb-max-undo-log-size 1073741824
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-cleaners 4
innodb-page-size 16384
innodb-parallel-read-threads 4
innodb-print-all-deadlocks FALSE
innodb-print-ddl-logs FALSE
innodb-purge-batch-size 300
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-redo-log-archive-dirs (No default value)
innodb-redo-log-encrypt FALSE
innodb-replication-delay 0
innodb-rollback-on-timeout FALSE
innodb-rollback-segments 128
innodb-sort-buffer-size 1048576
innodb-spin-wait-delay 6
innodb-spin-wait-pause-multiplier 50
innodb-stats-auto-recalc TRUE
innodb-stats-include-delete-marked FALSE
innodb-stats-method nulls_equal
innodb-stats-on-metadata FALSE
innodb-stats-persistent TRUE
innodb-stats-persistent-sample-pages 20
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-array-size 1
innodb-sync-spin-loops 30
innodb-table-locks TRUE
innodb-temp-data-file-path ibtmp1:12M:autoextend
innodb-temp-tablespaces-dir (No default value)
innodb-thread-concurrency 0
innodb-thread-sleep-delay 10000
innodb-tmpdir (No default value)
innodb-undo-directory (No default value)
innodb-undo-log-encrypt FALSE
innodb-undo-log-truncate TRUE
innodb-undo-tablespaces 2
innodb-use-native-aio TRUE
innodb-validate-tablespace-paths TRUE
innodb-write-io-threads 4
interactive-timeout 28800
internal-tmp-mem-storage-engine TempTable
join-buffer-size 262144
keep-files-on-create FALSE
key-buffer-size 8388608
key-cache-age-threshold 300
key-cache-block-size 1024
key-cache-division-limit 100
keyring-migration-destination (No default value)
keyring-migration-host (No default value)
keyring-migration-port 0
keyring-migration-socket (No default value)
keyring-migration-source (No default value)
keyring-migration-user (No default value)
language /usr/local/mysql/share/
large-pages FALSE
lc-messages en_US
lc-messages-dir /usr/local/mysql/share/
lc-time-names en_US
local-infile FALSE
lock-wait-timeout 31536000
log-bin binlog
log-bin-index binlog.index
log-bin-trust-function-creators TRUE
log-bin-use-v1-row-events FALSE
log-error stderr
log-error-services log_filter_internal; log_sink_internal
log-error-suppression-list
log-error-verbosity 1
log-isam myisam.log
log-output FILE
log-queries-not-using-indexes FALSE
log-raw FALSE
log-short-format FALSE
log-slave-updates TRUE
log-slow-admin-statements FALSE
log-slow-extra FALSE
log-slow-slave-statements FALSE
log-statements-unsafe-for-binlog TRUE
log-tc tc.log
log-tc-size 24576
log-throttle-queries-not-using-indexes 0
log-timestamps UTC
long-query-time 10
low-priority-updates FALSE
lower-case-table-names 0
mandatory-roles
master-info-file master.info
master-info-repository TABLE
master-retry-count 86400
master-verify-checksum FALSE
max-allowed-packet 67108864
max-binlog-cache-size 18446744073709547520
max-binlog-dump-events 0
max-binlog-size 1073741824
max-binlog-stmt-cache-size 18446744073709547520
max-connect-errors 100
max-connections 200
max-delayed-threads 20
max-digest-length 1024
max-error-count 1024
max-execution-time 0
max-heap-table-size 16777216
max-join-size 18446744073709551615
max-length-for-sort-data 4096
max-points-in-geometry 65536
max-prepared-stmt-count 16382
max-relay-log-size 0
max-seeks-for-key 18446744073709551615
max-sort-length 1024
max-sp-recursion-depth 0
max-user-connections 0
max-write-lock-count 18446744073709551615
memlock FALSE
min-examined-row-limit 0
myisam-block-size 1024
myisam-data-pointer-size 6
myisam-max-sort-file-size 9223372036853727232
myisam-mmap-size 18446744073709551615
myisam-recover-options OFF
myisam-repair-threads 1
myisam-sort-buffer-size 8388608
myisam-stats-method nulls_unequal
myisam-use-mmap FALSE
mysql-native-password-proxy-users FALSE
mysqlx ON
mysqlx-bind-address *
mysqlx-cache-cleaner ON
mysqlx-compression-algorithms DEFLATE_STREAM,LZ4_MESSAGE,ZSTD_STREAM
mysqlx-connect-timeout 30
mysqlx-deflate-default-compression-level 3
mysqlx-deflate-max-client-compression-level 5
mysqlx-document-id-unique-prefix 0
mysqlx-enable-hello-notice TRUE
mysqlx-idle-worker-thread-timeout 60
mysqlx-interactive-timeout 28800
mysqlx-lz4-default-compression-level 2
mysqlx-lz4-max-client-compression-level 8
mysqlx-max-allowed-packet 67108864
mysqlx-max-connections 100
mysqlx-min-worker-threads 2
mysqlx-port 33060
mysqlx-port-open-timeout 0
mysqlx-read-timeout 30
mysqlx-socket (No default value)
mysqlx-ssl-ca (No default value)
mysqlx-ssl-capath (No default value)
mysqlx-ssl-cert (No default value)
mysqlx-ssl-cipher (No default value)
mysqlx-ssl-crl (No default value)
mysqlx-ssl-crlpath (No default value)
mysqlx-ssl-key (No default value)
mysqlx-wait-timeout 28800
mysqlx-write-timeout 60
mysqlx-zstd-default-compression-level 3
mysqlx-zstd-max-client-compression-level 11
net-buffer-length 16384
net-read-timeout 30
net-retry-count 10
net-write-timeout 60
new FALSE
ngram ON
ngram-token-size 2
no-dd-upgrade FALSE
offline-mode FALSE
old FALSE
old-alter-table FALSE
old-style-user-limits FALSE
open-files-limit 8210
optimizer-prune-level 1
optimizer-search-depth 62
optimizer-switch index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=on,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=on,derived_merge=on,use_invisible_indexes=off,skip_scan=on,hash_join=on,subquery_to_derived=off,prefer_ordering_index=on,hypergraph_optimizer=off,derived_condition_pushdown=on
optimizer-trace
optimizer-trace-features greedy_search=on,range_optimizer=on,dynamic_range=on,repeated_subselect=on
optimizer-trace-limit 1
optimizer-trace-max-mem-size 1048576
optimizer-trace-offset -1
parser-max-mem-size 18446744073709551615
partial-revokes FALSE
password-history 0
password-require-current FALSE
password-reuse-interval 0
performance-schema TRUE
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 TRUE
performance-schema-consumer-events-statements-history TRUE
performance-schema-consumer-events-statements-history-long FALSE
performance-schema-consumer-events-transactions-current TRUE
performance-schema-consumer-events-transactions-history TRUE
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-error-size 4808
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 100
performance-schema-max-cond-instances -1
performance-schema-max-digest-length 1024
performance-schema-max-digest-sample-age 60
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 450
performance-schema-max-metadata-locks -1
performance-schema-max-mutex-classes 300
performance-schema-max-mutex-instances -1
performance-schema-max-prepared-statements-instances -1
performance-schema-max-program-instances -1
performance-schema-max-rwlock-classes 60
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 175
performance-schema-max-statement-classes 218
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 100
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-show-processlist FALSE
performance-schema-users-size -1
persist-only-admin-x509-subject
persisted-globals-load TRUE
pid-file /data/mysql/ysbae.pid
plugin-dir /usr/local/mysql/lib/plugin/
port 3306
port-open-timeout 0
preload-buffer-size 32768
print-identified-with-as-hex FALSE
profiling-history-size 15
protocol-compression-algorithms zlib,zstd,uncompressed
query-alloc-block-size 8192
query-prealloc-size 8192
range-alloc-block-size 4096
range-optimizer-max-mem-size 8388608
read-buffer-size 131072
read-only FALSE
read-rnd-buffer-size 262144
regexp-stack-limit 8000000
regexp-time-limit 32
relay-log ysbae-relay-bin
relay-log-index ysbae-relay-bin.index
relay-log-info-file relay-log.info
relay-log-info-repository TABLE
relay-log-purge TRUE
relay-log-recovery FALSE
relay-log-space-limit 0
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
rpl-read-size 8192
rpl-stop-slave-timeout 31536000
safe-user-create FALSE
schema-definition-cache 256
secondary-engine-cost-threshold 100000
secure-file-priv NULL
select-into-buffer-size 131072
select-into-disk-sync FALSE
select-into-disk-sync-delay 0
server-id 1
server-id-bits 32
session-track-gtids OFF
session-track-schema TRUE
session-track-state-change FALSE
session-track-system-variables time_zone,autocommit,character_set_client,character_set_results,character_set_connection
session-track-transaction-info OFF
sha256-password-auto-generate-rsa-keys TRUE
sha256-password-private-key-path private_key.pem
sha256-password-proxy-users FALSE
sha256-password-public-key-path public_key.pem
show-create-table-verbosity FALSE
show-old-temporals FALSE
show-slave-auth-info FALSE
skip-grant-tables FALSE
skip-name-resolve FALSE
skip-networking FALSE
skip-show-database FALSE
skip-slave-start FALSE
slave-allow-batching FALSE
slave-checkpoint-group 512
slave-checkpoint-period 300
slave-compressed-protocol FALSE
slave-exec-mode STRICT
slave-load-tmpdir /tmp
slave-max-allowed-packet 1073741824
slave-net-timeout 60
slave-parallel-type DATABASE
slave-parallel-workers 0
slave-pending-jobs-size-max 134217728
slave-preserve-commit-order FALSE
slave-rows-search-algorithms INDEX_SCAN,HASH_SCAN
slave-skip-errors (No default value)
slave-sql-verify-checksum TRUE
slave-transaction-retries 10
slave-type-conversions
slow-launch-time 2
slow-query-log FALSE
slow-query-log-file /data/mysql/ysbae-slow.log
socket /data/mysql/mysql.sock
sort-buffer-size 262144
sporadic-binlog-dump-fail FALSE
sql-mode ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
sql-require-primary-key FALSE
ssl TRUE
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-fips-mode OFF
ssl-key (No default value)
stored-program-cache 256
stored-program-definition-cache 256
super-large-pages FALSE
super-read-only FALSE
symbolic-links FALSE
sync-binlog 1
sync-master-info 10000
sync-relay-log 10000
sync-relay-log-info 10000
sysdate-is-now FALSE
table-definition-cache 2000
table-encryption-privilege-check FALSE
table-open-cache 4000
table-open-cache-instances 16
tablespace-definition-cache 256
tc-heuristic-recover OFF
temptable-max-ram 1073741824
temptable-use-mmap TRUE
thread-cache-size 10
thread-handling one-thread-per-connection
thread-stack 286720
tls-ciphersuites (No default value)
tls-version TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
tmp-table-size 16777216
tmpdir /tmp
transaction-alloc-block-size 8192
transaction-isolation REPEATABLE-READ
transaction-prealloc-size 4096
transaction-read-only FALSE
transaction-write-set-extraction XXHASH64
updatable-views-with-limit YES
upgrade AUTO
validate-config FALSE
validate-user-plugins TRUE
verbose TRUE
wait-timeout 28800
windowing-use-high-precision TRUE
To see what values a running MySQL server is using, type
'mysqladmin variables' instead of 'mysqld --verbose --help'.
mysqld_safe
unix에서 mysqld 서버를 시작하는데 권장하는 방법입니다. 스크립트 형식으로 사용하는 명령어입니다.
많은 옵션이 mysqld와 동일합니다. --defaults-file 뿐만 아니라 다양한 옵션을 추가해서 수행할 수 있습니다. 오류발생 시 자동으로 재기동 할 수 있게 해주는 기능이 포함되어 있습니다.
--mysqld_safe로 실행 ( 뒤에 &를 붙이면 백그라운드로 실행할 수 있음.)
# mysqld_safe --default-file=/etc/my.cnf
2020-12-31T01:25:32.553287Z mysqld_safe Logging to '/var/log/mysql/mysql.log'.
2020-12-31T01:25:32.585227Z mysqld_safe Starting mysqld daemon with databases from /data/mysql
2020-12-31T01:25:35.295811Z mysqld_safe mysqld from pid file /var/run/mysql/mysql.pid ended
--프로세스 확인
# ps -ef |grep mysql
root 10402 6911 0 20:25 pts/2 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my.cnf
mysql 13164 10402 13 20:27 pts/2 00:00:01 /usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=/var/log/mysql/mysql.log --pid-file=/var/run/mysql/mysql.pid --socket=/data/mysql/mysql.sock
root 13423 4601 0 20:27 pts/0 00:00:00 grep --color=auto mysql
--접속
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql.server
Unix 계열의 시스템에는 mysql.server라는 스크립트가 포함되어 있습니다. /etc/init.d 에 등록시켜 시스템 명령어로 사용할 수 있습니다. mysql.server는 내부적으로 mysqld_safe를 이용하여 기동&정지 합니다.
--init.d에 등록
# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql.server
#chkconfig --add mysql.server
--기동&정지 확인
# systemctl start mysql.server
# systemctl status mysql.server
● mysql.server.service - LSB: start and stop MySQL
Loaded: loaded (/etc/rc.d/init.d/mysql.server; bad; vendor preset: disabled)
Active: active (running) since Wed 2020-12-30 20:42:47 EST; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 856 ExecStop=/etc/rc.d/init.d/mysql.server stop (code=exited, status=0/SUCCESS)
Process: 1399 ExecStart=/etc/rc.d/init.d/mysql.server start (code=exited, status=0/SUCCESS)
Tasks: 39
CGroup: /system.slice/mysql.server.service
├─1410 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/data/mysql --pid-file=/data/mysql/ysbae.pid
└─1622 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/data/mysql --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-er...
Dec 30 20:42:45 ysbae systemd[1]: Starting LSB: start and stop MySQL...
Dec 30 20:42:47 ysbae mysql.server[1399]: Starting MySQL.. SUCCESS!
Dec 30 20:42:47 ysbae systemd[1]: Started LSB: start and stop MySQL.
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> exit
Bye
# systemctl stop mysql.server
mysqld_multi
mysqld_multi는 TCP/IP 통신포트를 다르게 하여 서로 다른 여러개의 mysqld 프로세스를 관리할 수 있는 프로그램입니다. mysqld_multi --example 명령어를 통해서 사용 예제를 확인할 수 있습니다.
실제 테스트는 다른 글로 정리하도록 하겠습니다.
# mysqld_multi --example
# This is an example of a my.cnf file for mysqld_multi.
# Usually this file is located in home dir ~/.my.cnf or /etc/my.cnf
#
# SOME IMPORTANT NOTES FOLLOW:
#
# 1.COMMON USER
#
# Make sure that the MySQL user, who is stopping the mysqld services, has
# the same password to all MySQL servers being accessed by mysqld_multi.
# This user needs to have the 'Shutdown_priv' -privilege, but for security
# reasons should have no other privileges. It is advised that you create a
# common 'multi_admin' user for all MySQL servers being controlled by
# mysqld_multi. Here is an example how to do it:
#
# GRANT SHUTDOWN ON *.* TO multi_admin@localhost IDENTIFIED BY 'password'
#
# You will need to apply the above to all MySQL servers that are being
# controlled by mysqld_multi. 'multi_admin' will shutdown the servers
# using 'mysqladmin' -binary, when 'mysqld_multi stop' is being called.
#
# 2.PID-FILE
#
# If you are using mysqld_safe to start mysqld, make sure that every
# MySQL server has a separate pid-file. In order to use mysqld_safe
# via mysqld_multi, you need to use two options:
#
# mysqld=/path/to/mysqld_safe
# ledir=/path/to/mysqld-binary/
#
# ledir (library executable directory), is an option that only mysqld_safe
# accepts, so you will get an error if you try to pass it to mysqld directly.
# For this reason you might want to use the above options within [mysqld#]
# group directly.
#
# 3.DATA DIRECTORY
#
# It is NOT advised to run many MySQL servers within the same data directory.
# You can do so, but please make sure to understand and deal with the
# underlying caveats. In short they are:
# - Speed penalty
# - Risk of table/data corruption
# - Data synchronising problems between the running servers
# - Heavily media (disk) bound
# - Relies on the system (external) file locking
# - Is not applicable with all table types. (Such as InnoDB)
# Trying so will end up with undesirable results.
#
# 4.TCP/IP Port
#
# Every server requires one and it must be unique.
#
# 5.[mysqld#] Groups
#
# In the example below the first and the fifth mysqld group was
# intentionally left out. You may have 'gaps' in the config file. This
# gives you more flexibility.
#
# 6.MySQL Server User
#
# You can pass the user=... option inside [mysqld#] groups. This
# can be very handy in some cases, but then you need to run mysqld_multi
# as UNIX root.
#
# 7.A Start-up Manage Script for mysqld_multi
#
# In the recent MySQL distributions you can find a file called
# mysqld_multi.server.sh. It is a wrapper for mysqld_multi. This can
# be used to start and stop multiple servers during boot and shutdown.
#
# You can place the file in /etc/init.d/mysqld_multi.server.sh and
# make the needed symbolic links to it from various run levels
# (as per Linux/Unix standard). You may even replace the
# /etc/init.d/mysql.server script with it.
#
# Before using, you must create a my.cnf file either in /usr/local/mysql/my.cnf
# or /root/.my.cnf and add the [mysqld_multi] and [mysqld#] groups.
#
# The script can be found from support-files/mysqld_multi.server.sh
# in MySQL distribution. (Verify the script before using)
#
[mysqld_multi]
mysqld = /usr/local/mysql/bin/mysqld_safe
mysqladmin = /usr/local/mysql/bin/mysqladmin
user = multi_admin
password = my_password
[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/data2/hostname.pid2
datadir = /usr/local/mysql/data2
language = /usr/local/mysql/share/mysql/english
user = unix_user1
[mysqld3]
mysqld = /path/to/mysqld_safe
ledir = /path/to/mysqld-binary/
mysqladmin = /path/to/mysqladmin
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/data3/hostname.pid3
datadir = /usr/local/mysql/data3
language = /usr/local/mysql/share/mysql/swedish
user = unix_user2
[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/data4/hostname.pid4
datadir = /usr/local/mysql/data4
language = /usr/local/mysql/share/mysql/estonia
user = unix_user3
[mysqld6]
socket = /tmp/mysql.sock6
port = 3311
pid-file = /usr/local/mysql/data6/hostname.pid6
datadir = /usr/local/mysql/data6
language = /usr/local/mysql/share/mysql/japanese
user = unix_user4
Installation-Related Program
Mysql을 설치하거나 Upgrade할 때 사용할 수 있는 프로그램들에 대한 소개입니다.
comp_err
Mysql 요류메세지 컴파일하는 프로그램. errmsg.sys 파일을 생성합니다.
(Mysql8.0.22 기준으로는 안보이네요.)
mysql_secure_installation
Mysql 설치할때 보안을 강화할 수 있는 프로그램입니다.
- root 비밀번호를 설정할 수 있습니다.
- 로컬호스트가 아닌 곳에서 root 계정으로 접근하는 것을 제거 할 수 있습니다.
- 익명 사용자(anonymous-user) 계정을 제거할 수 있습니다.
- 기본적으로 모든 사용자가 접근할 수 있는 test 데이터베이스를 제거할 수 있습니다.
mysql_ssl_rsa_setup
SSL/RSA 파일을 생성합니다.
mysql_tzinfo_to_sql
시스템 타임 존을 읽고 그것을 가지고 SQL명령문을 만듭니다. mysql은 그 명령문이 타임 존 테이블을 읽어오도록 만듭니다.
OEL 7.6 기준, /usr/share/zoneinfo에 시스템 타임존 파일들이 위치하고 있습니다.
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
--실제 수행시
# mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Enter password:
Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it.
mysql_upgrade
Mysql을 업그레이드 할 때 비호환성을 찾아줍니다.
- mysql 스키마 내의 system 테이블들을 업그레이드합니다. (새로운 권한이나 기능 추가)
- Performance,Information_schema,sys 스키마를 업그레이드합니다.
- 사용자 스키마들을 검증합니다.
만약 검사 도중 호환되지 않는 것을 발견한다면 repair를 시도합니다.
8.0.16 버전 이하에서만 사용할 수 있습니다. 8.0.16 이상부터는 mysqld에 --upgrade 옵션을 부여하여 업그레이드를 진행합니다.
8.0.22버전에서 mysql_upgrade 사용시 나오는 에러
# mysql_upgrade -uroot -p
Enter password:
The mysql_upgrade client is now deprecated. The actions executed by the upgrade client are now done by the server.
To upgrade, please start the new MySQL binary with the older data directory. Repairing user tables is done automatically. Restart is not required after upgrade.
The upgrade process automatically starts on running a new MySQL binary with an older data directory. To avoid accidental upgrades, please use the --upgrade=NONE option with the MySQL binary. The option --upgrade=FORCE is also provided to run the server upgrade sequence on demand.
It may be possible that the server upgrade fails due to a number of reasons. In that case, the upgrade sequence will run again during the next MySQL server start. If the server upgrade fails repeatedly, the server can be started with the --upgrade=MINIMAL option to start the server without executing the upgrade sequence, thus allowing users to manually rectify the problem.
Before 8.0.16:
From MySQL 8.0.16 onwards:
--upgrade 옵션 값 설명
NONE : 업그레이드를 시도하지 않으며 업그레이드가 필요한 경우 서버가 중단됩니다. 이 옵션을 사용하면 이미 실행중인 것과 동일한 서버 버전만 다시 시작할 수 있습니다. 버전 번호 이외의 기존 서버와 새 서버간에 차이가 없더라도 새 서버 버전을 시작할 수 없습니다.
AUTO : (default) 서버가 데이터 사전 업그레이드와 서버 업그레이드를 모두 시도하게 합니다.
MINIMAL : 서버를 시작할 때 서버 업그레이드가 아닌 데이터 사전 업그레이드만 시도합니다. 이 시점에서 8.0.16이전에는 mysql_upgrade 프로그램을 실행해야 합니다. 이제 업그레이드옵션(AUTO or FORCE) 없이 서버를 다시 시작하면 서버 업그레이드가 완료됩니다.
FORCE : 서버가 이미 업그레이드 된 경우에도 FORCE는 서버 업그레이드를 시도합니다.
Client Programs
Mysql 서버에 접속하기 위한 클아이언트 프로그램들에 대한 설명입니다.
mysql
Mysql CMD 클라이언트입니다. 터미널에서 접속하기 위해 실행하는 대표적인 프로그램입니다.
# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysqladmin
Mysql서버 관리 프로그램. 아래의 명령어로 다양한 기능을 지원합니다.
-create [db 명] : 데이터베이스 만들기
- debug : debug정보를 쓰게 하는 명령어(8.0.20 이전 버전), SUPER 권한을 가진 유저로 접속이 반드시 필요합니다.
- drop [db 명] : 데이터베이스 삭제
- flush-<명령어> : hosts,logs,privileges,status,tables,threads 로 flush를 시켜주는 명령어
- kill <쓰레드 id> : 쓰레드를 kill
-password [새로운 패스워드] : 새로운 패스워드로 변경
비밀번호 변경 테스트
# mysqladmin password -u db_test -h localhost -p
Enter password: [이전비밀번호]
New password: [새 비밀번호]
Confirm new password:[새 비밀번호]
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.
# mysql -u db_test -p -h localhost
Enter password:[새 비밀번호]
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.22 MySQL Community Server - GPL
Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
접속완료
DB(스키마) 생성 & 삭제 테스트
--스키마 생성 전 list
# mysql -u root -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| classicmodels |
| db_test |
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)
mysql> exit
Bye
--admintest 스키마 생성
# mysqladmin create admintest -u root -p
Enter password:
# mysql -u root -p
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| admintest |
| classicmodels |
| db_test |
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
8 rows in set (0.00 sec)
mysql> exit
Bye
--admintest 스키마 삭제
# mysqladmin drop admintest -u root -p
Enter password:
Dropping the database is potentially a very bad thing to do.
Any data stored in the database will be destroyed.
Do you really want to drop the 'admintest' database [y/N] y
Database "admintest" dropped
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| classicmodels |
| db_test |
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
7 rows in set (0.00 sec)
프로세스 리스트 확인
# mysqladmin proc stat -u root -p
Enter password:
+----+-----------------+-----------+----+---------+------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------+----+---------+------+------------------------+------------------+
| 5 | event_scheduler | localhost | | Daemon | 9346 | Waiting on empty queue | |
| 32 | root | localhost | | Query | 0 | init | show processlist |
+----+-----------------+-----------+----+---------+------+------------------------+------------------+
Uptime: 9350 Threads: 2 Questions: 8826 Slow queries: 0 Opens: 276 Flush tables: 3 Open tables: 197 Queries per second avg: 0.943
mysqlcheck
테이블 유지보수 관리 프로그램. check,repair,optimizes,analyze를 수행합니다. 다양한 옵션을 사용해서 여러 기능을 사용할 수 있습니다.
특정 DB(스키마)의 모든 테이블 검사 --databases [스키마 명]
# mysqlcheck --databases test --user=root -p
Enter password:
test.professor OK
test.student OK
test.test_dummy OK
모든 DB(스키마)와 테이블 검사 --all-databases
# mysqlcheck --user=root -p --all-databases
Enter password:
classicmodels.customers OK
classicmodels.employees OK
classicmodels.offices OK
classicmodels.orderdetails OK
classicmodels.orders OK
classicmodels.payments OK
classicmodels.productlines OK
classicmodels.products OK
db_test.binlogtest OK
mysql.columns_priv OK
mysql.component OK
mysql.db OK
mysql.default_roles OK
mysql.engine_cost OK
mysql.func OK
mysql.general_log OK
mysql.global_grants OK
mysql.gtid_executed OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.password_history OK
mysql.plugin OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.replication_asynchronous_connection_failover OK
mysql.role_edges OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
sys.sys_config OK
test.professor OK
test.student OK
test.test_dummy OK
특정 스키마의 특정 테이블만 검사 [스키마명] [테이블명]
# mysqlcheck --user=root -p test test_dummy
Enter password:
test.test_dummy OK
mysqldump
Mysql 백업 프로그램. logical backup을 수행하는 프로그램입니다. 백업 복구 테스트를 한 이전 글을 보면 사용법과 기능을 확인할 수 있습니다.
bae9086.tistory.com/182?category=832163
mysqlimport
SQL 상태의 data를 import할 수 있는 프로그램. mysqlimport가 입력하고자 하는 테이블을 인식하는 방법은 바로 데이터가 입력된 파일의 이름에 있습니다. 파일의 확장자는 무시하고, 파일의 이름명과 같은 테이블을 찾아서 거기에 바로 insert작업을 진행합니다.
외부 데이터 삽입 테스트
--테이블 생성
# mysql -e 'CREATE TABLE imptest(id INT, n VARCHAR(30))' test -uroot -p
Enter password:
--데이터 생성
# ed
a
100 Max Sydow
101 Count Dracula
.
w imptest.txt
32
q
# od -c imptest.txt
0000000 1 0 0 \t M a x S y d o w \n 1 0
0000020 1 \t C o u n t D r a c u l a \n
0000040
--mysqlimport 수행
# mysqlimport test /usr/local/mysql/imptest.txt -uroot -p
Enter password:
test.imptest: Records: 2 Deleted: 0 Skipped: 0 Warnings: 0
--확인
# mysql -e 'select * from imptest' test -p
Enter password:
+------+---------------+
| id | n |
+------+---------------+
| 100 | Max Sydow |
| 101 | Count Dracula |
+------+---------------+
mysqlpump
Mysql 백업 프로그램. logical backup을 수행하는 프로그램입니다. 추후에 다른 글로 설명을 보충하겠습니다.
mysqlshow
DB(스키마),테이블,컬럼 정보를 보여주는 프로그램
특정 스키마의 테이블 정보 보기
# mysqlshow -uroot -p test
Enter password:
Database: test
+------------+
| Tables |
+------------+
| imptest |
| professor |
| student |
| test_dummy |
+------------+
특정 테이블 컬럼 정보 보기
# mysqlshow -uroot -p test student
Enter password:
Database: test Table: student
+--------+-------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| Field | Type | Collation | Null | Key | Default | Extra | Privileges | Comment |
+--------+-------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
| _id | char(9) | utf8_general_ci | YES | | | | select,insert,update,references | |
| name | varchar(48) | utf8_general_ci | NO | | | | select,insert,update,references | |
| belong | varchar(5) | utf8_general_ci | YES | | | | select,insert,update,references | |
| phone | varchar(11) | utf8_general_ci | YES | | | | select,insert,update,references | |
| status | int | | YES | | 0 | | select,insert,update,references | |
+--------+-------------+-----------------+------+-----+---------+-------+---------------------------------+---------+
mysqlslap
Mysql 서버에 임의로 부하를 줘서 성능에 대해 진단해주는 프로그램.
옵션 중 --create or --query는 SQL문법을 포함한 스트링 문자열이거나 파일입니다. 만약 특정 파일일경우 그 안에는 sql문법이 라인으로 되어 있어야합니다.
--delimeter 옵션을 사용하려면 특정 문자를 지정해서 구분자를 사용해줘야 합니다.
파일안에는 주석없이 순수 내용만 있어야 합니다.
3가지 스텝으로 진행됩니다.
1.스키마,테이블 그리고 선택사항으로 프로시저나 테스트에 필요한 데이터를 만듭니다. 이때 하나의 클라이언트를 사용합니다.
2.부하테스트를 진행합니다. 이때 많은 클라이언트가 접속을 합니다.
3.정리단계에서 하나의 접속만 남기고 접속종료와 테이블 삭제를 합니다.
테스트는 추가로 글을 작성하여 정리하겠습니다.
Administrativs and Utility Programs
idb2sdi
InnoDB 테이블스페이스 SDI (serialized dictionary information) 추출 유틸리티
innochecksum
Offline InnoDB 파일 체크썸 유틸리티입니다. InnoDB테이블 스페이스 파일을 읽어 문제가 있는지 검사합니다.
myisam_ftdump
MyISAM테이블의 풀 텍스트 인덱스에 대한 정보를 보여줍니다.
myisamchk
MyISAM형식의 테이블에 대해서 고치고 유지보수하는 유틸리티입니다.
myisamlog
MyISAM테이블의 로그를 확인하는 윺틸리티입니다.
myisampack
MyISAM테이블을 압축하는 유틸리티입니다. 40~70%의 압축률을 보여줍니다.
mysql_config_editor
접속 환경 생성 및 편집 프로그램.
mysqlbinlog
Binary 로그 파일을 관리하는 프로그램. 이전 글을 참조
bae9086.tistory.com/179?category=832163
mysqldumpslow
slow query log파일을 요약해서 출력해주는 프로그램. 특정시간 이상으로 쿼리가 수행될 때 슬로우 쿼리라고 부르고 그것을 로깅하는 파일이 slow query log입니다.
이 밖에도 더 있지만 정리는 여기까지 하겠습니다. 더 필요하시면 myslq 8.0 Manual을 참고하시면 될것 같습니다.
정리하면서, 테스트하면서 느꼈지만 DB의 세계는 공부할것이 엄청 많네요.
그래도 새로운 것에 대한 배움이니 재미는 있습니다.
출처 : myinfrabox.tistory.com/8?category=804722 , Mysql 8.0 Reference Manual
'다른 DBMS > MySQL&MariaDB' 카테고리의 다른 글
mysqlpump (0) | 2021.01.05 |
---|---|
[에러 해결] Error: 1290 secure-file-priv 관련 (0) | 2021.01.02 |
권한(Privileges) (0) | 2020.12.30 |
mysqlbinlog 명령어 옵션 (0) | 2020.12.27 |
mysql 명령어 옵션 (0) | 2020.12.26 |
댓글