数据库:mysqld服务器启动参数大全
下面这些命令称为MySQL服务器启动参数,可以启动时传入或者写入配置文件(如 my.cnf 或 my.ini),根据这些命令的功能和用途,可以将它们分为以下几类:
1. 服务管理
- 安装与移除服务
--install:安装默认服务(NT)。--install-manual:安装手动启动的默认服务(NT)。--install service_name:安装可选服务(NT)。--install-manual service_name:安装手动启动的可选服务(NT)。--remove:从服务列表中移除默认服务(NT)。--remove service_name:从服务列表中移除指定服务(NT)。
- 服务启动选项
--standalone:作为独立服务器启动的占位选项(NT)。--named-pipe:启用命名管道(NT)。--named-pipe-full-access-group=name:被授予命名管道完全访问权限的 Windows 组名称。
2. 配置文件与默认选项
- 默认选项读取
--print-defaults:打印程序参数列表并退出。--no-defaults:不从任何选项文件读取默认选项,除非是登录文件。--defaults-file=#:仅从指定文件 # 读取默认选项。--defaults-extra-file=#:在读取全局文件后读取此文件。--defaults-group-suffix=#:同时读取组名与后缀拼接的组(group+suffix)。--login-path=#:从登录文件读取此路径。--no-login-paths:不从登录路径文件读取登录路径。
- 登录与认证
--login-path=#:从登录文件读取此路径。--no-login-paths:不从登录路径文件读取登录路径。--activate-all-roles-on-login:用户成功认证后,自动将所有授予的角色设置为活动状态。
3. 网络与连接
- 网络绑定
--bind-address=name:要绑定的 IP 地址。--admin-address=name:服务连接绑定的 IP 地址。--mysqlx-bind-address[=name]:X 插件应绑定 TCP 套接字的地址。
- 端口配置
--admin-port=#:服务连接使用的端口号。--port=#:用于连接的端口号。--mysqlx-port[=#]:X 插件将接受传入连接的端口。
- SSL/TLS 配置
--admin-ssl-ca=name:–admin-port 使用的 PEM 格式 CA 文件。--admin-ssl-capath=name:–admin-port 使用的 CA 目录。--admin-ssl-cert=name:–admin-port 使用的 PEM 格式 X509 证书。--admin-ssl-cipher=name:–admin-port 使用的 SSL 密码套件。--admin-ssl-crl=name:–admin-port 使用的 PEM 格式 CRL 文件。--admin-ssl-crlpath=name:–admin-port 使用的 CRL 目录。--admin-ssl-key=name:–admin-port 使用的 PEM 格式 X509 密钥。--admin-tls-ciphersuites=name:–admin-port 使用的 TLS v1.3 密码套件。--admin-tls-version=name:–admin-port 使用的 TLS 版本。--ssl-ca=name:PEM 格式的 CA 文件。--ssl-capath=name:CA 目录。--ssl-cert=name:PEM 格式的 X509 证书。--ssl-cipher=name:要使用的 SSL 密码。--ssl-crl=name:PEM 格式的 CRL 文件。--ssl-crlpath=name:CRL 目录。--ssl-key=name:PEM 格式的 X509 密钥。--tls-ciphersuites=name:要使用的 TLS v1.3 密码套件。--tls-version=name:TLS 版本。--require-secure-transport:当启用此选项时,将拒绝使用不安全传输的连接尝试。
4. 性能与优化
- 内存与缓存
--bulk-insert-buffer-size=#:批量插入优化中使用的树缓存大小。--innodb-buffer-pool-size=#:InnoDB 用于缓存其表的数据和索引的内存缓冲区大小。--innodb-log-buffer-size=#:InnoDB 用于将日志写入磁盘上日志文件的缓冲区大小。--key-buffer-size=#:MyISAM 表的索引块使用的缓冲区大小。--myisam-sort-buffer-size=#:执行 REPAIR 或使用 CREATE INDEX 或 ALTER TABLE 创建索引时,排序索引所分配的缓冲区。--read-buffer-size=#:每个执行顺序扫描的线程为其扫描的每个表分配一个此大小的缓冲区。--read-rnd-buffer-size=#:在排序后按排序顺序读取行时,通过此缓冲区读取行以避免磁盘寻道。--sort-buffer-size=#:每个需要排序的线程分配一个此大小的缓冲区。--table-open-cache=#:缓存的打开表数量(所有表缓存实例的总数)。--tmp-table-size=#:如果 MEMORY 或 TempTable 存储引擎中的内部内存临时表超过此大小,MySQL 将自动将其转换为磁盘表。
- 日志与同步
--binlog-cache-size=#:二进制日志中事务引擎更新的事务缓存大小。--binlog-stmt-cache-size=#:二进制日志中非事务引擎更新的语句缓存大小。--sync-binlog=#:每写入 # 次文件后,将二进制日志同步刷新到磁盘。--sync-relay-log=#:每 # 个事件后,将中继日志同步刷新到磁盘。--sync-relay-log-info=#:每 # 个事务后,将中继日志信息同步刷新到磁盘。--sync-source-info=#:定期将复制接收者位置同步到磁盘,在指定数量的事件之后。
- 查询优化
--optimizer-max-subgraph-pairs=#:在超图连接优化器开始启发式地减少搜索空间之前,查询可以拥有的子图对的最大深度。--optimizer-prune-level=#:控制查询优化期间应用的启发式方法,以从优化器搜索空间中修剪不太有前景的部分计划。--optimizer-search-depth=#:查询优化器执行的最大搜索深度。--optimizer-switch=name:optimizer_switch = 选项 = 值 [, 选项 = 值…],其中选项是 {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, hash_set_operations} 中的一个,值是 {on, off, default} 中的一个。--optimizer-trace=name:控制优化器的跟踪:optimizer_trace = 选项 = 值 [, 选项 = 值…],其中选项是 {enabled, one_line} 中的一个,值是 {on, default} 中的一个。--optimizer-trace-features=name:启用 / 禁用优化器选定功能的跟踪:optimizer_trace_features = 选项 = 值 [, 选项 = 值…],其中选项是 {greedy_search, range_optimizer, dynamic_range, repeated_subselect} 中的一个,值是 {on, off, default} 中的一个。--optimizer-trace-limit=#:显示的优化器跟踪的最大数量。--optimizer-trace-max-mem-size=#:存储的优化器跟踪的最大允许累积大小。--optimizer-trace-offset=#:要显示的第一个优化器跟踪的偏移量。
5. 日志与监控
- 日志配置
--general-log:将连接和查询记录到表或日志文件。--general-log-file=name:将连接和查询记录到指定文件。--log-bin[=name]:配置用于二进制日志文件的名称前缀。--log-bin-index=name:保存二进制日志文件名称的文件。--log-error[=name]:错误日志文件。--log-error-services=name:收到错误事件时应调用的服务。--log-error-suppression-list=name:逗号分隔的错误代码列表。与这些代码对应的错误消息将不包含在错误日志中。--log-error-verbosity=#:错误日志的详细程度。--log-isam[=name]:将所有 MyISAM 更改记录到文件。--log-output=name:语法:log-output=value [,value…],其中 “value” 可以是 TABLE、FILE 或 NONE。--log-queries-not-using-indexes:若慢日志已打开,将不使用任何索引执行的查询记录到慢日志。--log-raw:在对查询进行任何重写之前记录到通用日志。--log-replica-updates:若启用,复制应用线程将写入此服务器的二进制日志。--log-slow-admin-statements:若慢日志已打开,将慢的 OPTIMIZE、ANALYZE、ALTER 和其他管理语句记录到慢日志。--log-slow-extra:向慢查询日志文件打印更多属性。--log-slow-replica-statements:若慢日志已打开,将复制应用线程执行的慢语句记录到慢日志。--log-statements-unsafe-for-binlog:记录使用基于语句的二进制日志时被视为不安全的语句。--log-tc=name:事务协调器日志的路径。--log-tc-size=#:事务协调器日志的大小。--log-throttle-queries-not-using-indexes=#:每分钟向慢日志记录最多这么多 “不使用索引” 警告。--log-timestamps=name:UTC 以祖鲁时间为日志文件添加时间戳,或 SYSTEM 使用系统的本地时间。--slow-query-log:将慢查询记录到表或日志文件。--slow-query-log-file=name:将慢查询记录到指定的日志文件。
- 监控与性能模式
--performance-schema:启用性能模式。--performance-schema-accounts-size=#:已 instrumentation 的 user@host 账户的最大数量。--performance-schema-consumer-events-stages-current:events_stages_current 消费者的默认启动值。--performance-schema-consumer-events-stages-history:events_stages_history 消费者的默认启动值。--performance-schema-consumer-events-stages-history-long:events_stages_history_long 消费者的默认启动值。--performance-schema-consumer-events-statements-current:events_statements_current 消费者的默认启动值。--performance-schema-consumer-events-statements-history:events_statements_history 消费者的默认启动值。--performance-schema-consumer-events-statements-history-long:events_statements_history_long 消费者的默认启动值。--performance-schema-consumer-events-transactions-current:events_transactions_current 消费者的默认启动值。--performance-schema-consumer-events-transactions-history:events_transactions_history 消费者的默认启动值。--performance-schema-consumer-events-transactions-history-long:events_transactions_history_long 消费者的默认启动值。--performance-schema-consumer-events-waits-current:events_waits_current 消费者的默认启动值。--performance-schema-consumer-events-waits-history:events_waits_history 消费者的默认启动值。--performance-schema-consumer-events-waits-history-long:events_waits_history_long 消费者的默认启动值。--performance-schema-consumer-global-instrumentation:global_instrumentation 消费者的默认启动值。--performance-schema-consumer-statements-digest:statements_digest 消费者的默认启动值。--performance-schema-consumer-thread-instrumentation:thread_instrumentation 消费者的默认启动值。--performance-schema-digests-size=#:语句摘要的大小。--performance-schema-error-size=#:已 instrumentation 的服务器错误数量。--performance-schema-events-stages-history-long-size=#:EVENTS_STAGES_HISTORY_LONG 中的行数。--performance-schema-events-stages-history-size=#:每个线程在 EVENTS_STAGES_HISTORY 中的行数。--performance-schema-events-statements-history-long-size=#:EVENTS_STATEMENTS_HISTORY_LONG 中的行数。--performance-schema-events-statements-history-size=#:每个线程在 EVENTS_STATEMENTS_HISTORY 中的行数。--performance-schema-events-transactions-history-long-size=#:EVENTS_TRANSACTIONS_HISTORY_LONG 中的行数。--performance-schema-events-transactions-history-size=#:每个线程在 EVENTS_TRANSACTIONS_HISTORY 中的行数。--performance-schema-events-waits-history-long-size=#:EVENTS_WAITS_HISTORY_LONG 中的行数。--performance-schema-events-waits-history-size=#:每个线程在 EVENTS_WAITS_HISTORY 中的行数。--performance-schema-hosts-size=#:已 instrumentation 的主机的最大数量。--performance-schema-instrument[=name]:性能模式工具的默认启动值。--performance-schema-max-cond-classes=#:条件工具的最大数量。--performance-schema-max-cond-instances=#:已 instrumentation 的条件对象的最大数量。--performance-schema-max-digest-length=#:存储在 performance_schema 表中时,摘要文本考虑的最大长度。--performance-schema-max-digest-sample-age=#:以前的查询样本被视为旧样本后的时间(以秒为单位)。--performance-schema-max-file-classes=#:文件工具的最大数量。--performance-schema-max-file-handles=#:已打开的已 instrumentation 的文件的最大数量。--performance-schema-max-file-instances=#:已 instrumentation 的文件的最大数量。--performance-schema-max-index-stat=#:已 instrumentation 的表的索引统计信息的最大数量。--performance-schema-max-memory-classes=#:内存池工具的最大数量。--performance-schema-max-metadata-locks=#:元数据锁的最大数量。--performance-schema-max-meter-classes=#:计量源工具的最大数量。--performance-schema-max-metric-classes=#:指标源工具的最大数量。--performance-schema-max-mutex-classes=#:互斥锁工具的最大数量。--performance-schema-max-mutex-instances=#:已 instrumentation 的 MUTEX 对象的最大数量。--performance-schema-max-prepared-statements-instances=#:已 instrumentation 的预处理语句的最大数量。--performance-schema-max-program-instances=#:已 instrumentation 的程序的最大数量。--performance-schema-max-rwlock-classes=#:读写锁工具的最大数量。--performance-schema-max-rwlock-instances=#:已 instrumentation 的 RWLOCK 对象的最大数量。--performance-schema-max-socket-classes=#:套接字工具的最大数量。--performance-schema-max-socket-instances=#:已打开的已 instrumentation 的套接字的最大数量。--performance-schema-max-sql-text-length=#:显示的 sql 文本的最大长度。--performance-schema-max-stage-classes=#:阶段工具的最大数量。--performance-schema-max-statement-classes=#:语句工具的最大数量。--performance-schema-max-statement-stack=#:每个线程在 EVENTS_STATEMENTS_CURRENT 中的行数。--performance-schema-max-table-handles=#:已打开的已 instrumentation 的表的最大数量。--performance-schema-max-table-instances=#:已 instrumentation 的表的最大数量。--performance-schema-max-table-lock-stat=#:已 instrumentation 的表的锁统计信息的最大数量。--performance-schema-max-thread-classes=#:线程工具的最大数量。--performance-schema-max-thread-instances=#:已 instrumentation 的线程的最大数量。--performance-schema-session-connect-attrs-size=#:每个线程的会话属性字符串缓冲区大小。--performance-schema-setup-actors-size=#:SETUP_ACTORS 中的最大行数。--performance-schema-setup-objects-size=#:SETUP_OBJECTS 中的最大行数。--performance-schema-show-processlist:在性能模式中启用 SHOW PROCESSLIST 的默认启动值。--performance-schema-users-size=#:已 instrumentation 的用户的最大数量。
6. 存储引擎
- InnoDB
--innodb-adaptive-flushing:尝试刷新脏页以避免检查点时的 IO 突发。--innodb-adaptive-flushing-lwm=#:日志容量的百分比,低于此值时不进行自适应刷新。--innodb-adaptive-hash-index:启用 InnoDB 自适应哈希索引。--innodb-adaptive-hash-index-parts[=#]:InnoDB 自适应哈希索引分区数。--innodb-adaptive-max-sleep-delay=#:睡眠延迟的上限(微秒)。--innodb-api-bk-commit-interval[=#]:后台提交间隔(秒)。--innodb-api-disable-rowlock:通过 InnoDB API 直接访问 InnoDB 时禁用行锁。--innodb-api-enable-binlog:允许通过 InnoDB API 直接访问 InnoDB 的应用程序使用二进制日志。--innodb-api-enable-mdl:通过 InnoDB API 直接访问 InnoDB 的应用程序启用 MDL。--innodb-api-trx-level[=#]:InnoDB API 事务隔离级别。--innodb-autoextend-increment=#:数据文件自动扩展增量(MB)。--innodb-autoinc-lock-mode=#:InnoDB 支持的 AUTOINC 锁定模式。--innodb-buffer-pool-chunk-size=#:每个缓冲池实例中用于调整缓冲池大小的单个内存块大小。--innodb-buffer-pool-dump-at-shutdown:将缓冲池转储到名为 @@innodb_buffer_pool_filename 的文件中。--innodb-buffer-pool-dump-now:立即将缓冲池转储到名为 @@innodb_buffer_pool_filename 的文件中。--innodb-buffer-pool-dump-pct=#:仅转储每个缓冲池最热的 N%。--innodb-buffer-pool-filename=name:用于转储 / 加载 InnoDB 缓冲池的文件名。--innodb-buffer-pool-in-core-file:若 @@core_file 为 OFF,此选项无效。若 @@core_file 为 ON 且此选项为 OFF,则仅当可以从核心转储文件中排除缓冲池时才生成核心转储文件。--innodb-buffer-pool-instances=#:缓冲池实例数。--innodb-buffer-pool-load-abort:中止当前正在进行的缓冲池加载。--innodb-buffer-pool-load-at-startup:从名为 @@innodb_buffer_pool_filename 的文件加载缓冲池。--innodb-buffer-pool-load-now:立即从名为 @@innodb_buffer_pool_filename 的文件加载缓冲池。--innodb-buffer-pool-size=#:InnoDB 用于缓存其表的数据和索引的内存缓冲区大小。--innodb-change-buffer-max-size=#:更改缓冲区的最大磁盘大小(占缓冲池的百分比)。--innodb-change-buffering=name:缓冲更改以减少随机访问。--innodb-checksum-algorithm=name:InnoDB 用于页面校验和的算法。--innodb-cmp-per-index-enabled:启用 INFORMATION_SCHEMA.innodb_cmp_per_index。--innodb-commit-concurrency=#:有助于在高并发环境中进行性能调优。--innodb-compression-failure-threshold-pct[=#]:若表的压缩失败率大于此数,将向页面添加更多填充以减少失败。--innodb-compression-level=#:压缩行格式使用的压缩级别。--innodb-compression-pad-pct-max[=#]:数据页上可保留的空空间百分比。--innodb-concurrency-tickets=#:线程在同一 SQL 查询中获得票证后允许进入 InnoDB 的次数。--innodb-data-file-path=name:各个文件的路径及其大小。--innodb-data-home-dir=name:InnoDB 表空间的公共部分。--innodb-ddl-buffer-size=#:DDL 使用的最大内存大小(字节)。--innodb-ddl-threads=#:用于 DDL 的最大线程数。--innodb-deadlock-detect:启用 / 禁用 InnoDB 死锁检测器。--innodb-dedicated-server:根据系统内存自动调整 innodb_buffer_pool_size 和 innodb_redo_log_capacity。--innodb-default-row-format=name:所有未指定 ROW_FORMAT 的 innodb 表的默认行格式。--innodb-directories=name:扫描表空间文件的目录列表。--innodb-disable-sort-file-cache:是否禁用排序 I/O 的 OS 系统文件缓存。--innodb-doublewrite[=name]:启用 InnoDB 双写缓冲区。--innodb-doublewrite-batch-size=#:一批写入的双写页数。--innodb-doublewrite-dir=name:为双写缓冲区文件使用单独的目录。--innodb-doublewrite-files=#:双写文件数。--innodb-doublewrite-pages=#:每个线程的双写页数。--innodb-extend-and-initialize:通过写入零初始化分配的空间。--innodb-fast-shutdown[=#]:加快 InnoDB 存储引擎的关闭过程。--innodb-file-per-table:将每个 InnoDB 表存储到数据库目录中的.ibd 文件中。--innodb-fill-factor=#:批量插入期间 B 树页的填充百分比。--innodb-flush-log-at-timeout[=#]:每(n)秒写入并刷新日志。--innodb-flush-log-at-trx-commit[=#]:设为 0(每秒写入并刷新一次)、1(每次提交写入并刷新)或 2(提交时写入,每秒刷新一次)。--innodb-flush-method=name:刷新数据的方法。--innodb-flush-neighbors[=#]:刷新块时,设为 0(不从缓冲池刷新相邻块)、1(从缓冲池刷新连续相邻块)或 2(从缓冲池刷新相邻块)。--innodb-flush-sync:允许在检查点时忽略 io_capacity 设置的 IO 突发。--innodb-flushing-avg-loops=#:后台刷新的平均迭代次数。--innodb-force-load-corrupted:强制 InnoDB 加载损坏表的元数据。--innodb-force-recovery=#:在数据库的磁盘映像损坏时帮助挽救数据。--innodb-fsync-threshold=#:此变量的值决定 InnoDB 创建新文件时调用 fsync 的频率。--innodb-ft-aux-table:要检查的 FTS 内部辅助表。--innodb-ft-cache-size=#:InnoDB 全文搜索缓存大小(字节)。--innodb-ft-enable-diag-print:是否启用额外的 FTS 诊断输出。--innodb-ft-enable-stopword:创建带有关停词的 FTS 索引。--innodb-ft-max-token-size=#:InnoDB 全文搜索的最大令牌大小(字符)。--innodb-ft-min-token-size=#:InnoDB 全文搜索的最小令牌大小(字符)。--innodb-ft-num-word-optimize=#:每次 optimize table 调用时 InnoDB 全文搜索优化的单词数。--innodb-ft-result-cache-limit=#:InnoDB 全文搜索查询结果缓存限制(字节)。--innodb-ft-server-stopword-table[=name]:用户提供的停用词表名。--innodb-ft-sort-pll-degree=#:InnoDB 全文搜索并行排序度,将向上舍入到最接近的 2 的幂。--innodb-ft-total-cache-size=#:为 InnoDB 全文搜索缓存分配的总内存。--innodb-ft-user-stopword-table[=name]:用户提供的停用词表名,在会话级别有效。--innodb-idle-flush-pct=#:服务器空闲时要刷新的脏页百分比上限。--innodb-io-capacity=#:服务器可执行的 IOP 数。--innodb-io-capacity-max=#:innodb_io_capacity 可膨胀到的限制。--innodb-lock-wait-timeout=#:InnoDB 事务在获取锁前等待的超时秒数。--innodb-log-buffer-size=#:InnoDB 用于将日志写入磁盘上日志文件的缓冲区大小。--innodb-log-checksums:是否计算并要求 InnoDB 重做日志块的校验和。--innodb-log-compressed-pages:启用 / 禁用整个压缩页面图像的日志记录。--innodb-log-file-size=#:升级到 8.0.30 之前的每个日志文件大小。--innodb-log-files-in-group=#:升级到 8.0.30 之前的日志文件数。--innodb-log-group-home-dir=name:InnoDB 日志文件的路径。--innodb-log-spin-cpu-abs-lwm=#:使用自旋延迟的最小 CPU 时间值。--innodb-log-spin-cpu-pct-hwm=#:使用自旋延迟的最大 CPU 时间值。--innodb-log-wait-for-flush-spin-hwm=#:使用自旋延迟的平均日志刷新时间的最大值。--innodb-log-write-ahead-size=#:日志预写单位大小。--innodb-log-writer-threads:日志写入线程是否应激活。--innodb-lru-scan-depth=#:扫描 LRU 以保持其清洁的深度。--innodb-max-dirty-pages-pct=#:缓冲池中允许的脏页百分比。--innodb-max-dirty-pages-pct-lwm=#:开始刷新的脏页百分比。--innodb-max-purge-lag=#:清除队列的期望最大长度。--innodb-max-purge-lag-delay=#:用户线程的最大延迟。--innodb-max-undo-log-size[=#]:UNDO 表空间的最大大小。--innodb-monitor-disable=name:关闭监控计数器。--innodb-monitor-enable=name:打开监控计数器。--innodb-monitor-reset=name:重置监控计数器。--innodb-monitor-reset-all=name:重置监控计数器的所有值。--innodb-old-blocks-pct=#:缓冲池中为 “旧” 块保留的百分比。--innodb-old-blocks-time=#:若首次访问至少在此毫秒数前,将块移到缓冲池的 “新” 端。--innodb-online-alter-log-max-size=#:在线索引创建的最大修改日志文件大小。--innodb-open-files=#:InnoDB 最多同时打开的文件数。--innodb-optimize-fulltext-only:仅优化表的全文索引。--innodb-page-cleaners[=#]:页面清理线程数。--innodb-page-size[=#]:所有 InnoDB 表空间使用的页面大小。--innodb-parallel-read-threads=#:执行并行读取的线程数。--innodb-print-all-deadlocks:将所有死锁打印到 MySQL 错误日志。--innodb-print-ddl-logs:将所有 DDL 日志打印到 MySQL 错误日志。--innodb-purge-batch-size[=#]:从历史列表中一次清除的 UNDO 日志页数。--innodb-purge-rseg-truncate-frequency[=#]:控制 UNDO 记录的清除速率。--innodb-purge-threads[=#]:清除线程数。--innodb-random-read-ahead:是否对范围内的随机访问使用预读。--innodb-read-ahead-threshold=#:InnoDB 触发预读所需的连续访问页数。--innodb-read-io-threads=#:InnoDB 中的后台读取 I/O 线程数。--innodb-read-only:以只读模式启动 InnoDB。--innodb-redo-log-archive-dirs=name:将重做日志归档的位置。--innodb-redo-log-capacity=#:磁盘上重做日志文件的总大小限制。--innodb-redo-log-encrypt:启用或禁用 REDO 表空间的加密。--innodb-replication-delay=#:若达到 innodb_thread_concurrency,从库服务器上的复制线程延迟。--innodb-rollback-on-timeout:锁等待超时时回滚整个事务。--innodb-rollback-segments[=#]:每个表空间的回滚段数。--innodb-segment-reserve-factor[=#]:segment_reserve_factor 是以百分比表示的 x/y 比率。--innodb-sort-buffer-size=#:索引创建的内存缓冲区大小。--innodb-spin-wait-delay[=#]:自旋锁轮询之间的最大延迟。--innodb-spin-wait-pause-multiplier=#:控制在自旋锁中为实现一个延迟单位连续使用 PAUSE 指令的次数。--innodb-stats-auto-recalc:对所有表启用 InnoDB 持久性统计信息的自动重新计算。--innodb-stats-include-delete-marked:计算持久性统计信息时包括标记为删除的记录。--innodb-stats-method=name:指定 InnoDB 索引统计信息收集代码如何处理 NULL。--innodb-stats-on-metadata:为使用临时统计信息的表启用元数据命令的统计信息收集。--innodb-stats-persistent:对所有表启用 InnoDB 持久性统计信息。--innodb-stats-persistent-sample-pages=#:计算持久性统计信息时采样的叶索引页数。--innodb-stats-transient-sample-pages=#:计算临时统计信息时采样的叶索引页数。--innodb-status-file:在 innodb_status. 文件中启用 SHOW ENGINE INNODB STATUS 输出。--innodb-status-output:启用 InnoDB 监控输出到错误日志。--innodb-status-output-locks:启用 InnoDB 锁监控输出到错误日志。--innodb-strict-mode:评估创建选项时使用严格模式。--innodb-sync-array-size[=#]:互斥 / 锁等待数组的大小。--innodb-sync-spin-loops=#:InnoDB 互斥锁中的自旋循环次数。--innodb-table-locks:在 LOCK TABLES 中启用 InnoDB 锁定。--innodb-temp-data-file-path=name:构成临时表空间的文件路径及其大小。--innodb-temp-tablespaces-dir=name:临时表空间文件所在的目录。--innodb-thread-concurrency=#:设置允许进入 InnoDB 的最大线程数。--innodb-thread-sleep-delay=#:InnoDB 线程加入 InnoDB 队列前的睡眠时间。--innodb-tmpdir[=name]:临时非表空间文件的目录。--innodb-undo-directory=name:UNDO 表空间文件所在的目录。--innodb-undo-log-encrypt:启用或禁用 UNDO 表空间的加密。--innodb-undo-log-truncate:启用或禁用 UNDO 表空间的截断。--innodb-undo-tablespaces=#:使用的 UNDO 表空间数。--innodb-use-fdatasync:使用 fdatasync () 而非默认的 fsync ()。--innodb-use-native-aio:若平台支持,使用原生 AIO。--innodb-validate-tablespace-paths:启用表空间路径与 DD 的验证。--innodb-write-io-threads=#:InnoDB 中的后台写入 I/O 线程数。
- MyISAM
--myisam-block-size=#:MyISAM 索引页使用的块大小。--myisam-data-pointer-size=#:MyISAM 表使用的默认指针大小。--myisam-max-sort-file-size=#:若临时文件会大于此值,则不使用快速排序索引方法创建索引。--myisam-mmap-size=#:限制用于 MySQL 表内存映射的总内存。--myisam-recover-options[=name]:语法:myisam-recover-options [=option [,option…]],其中 option 可以是 DEFAULT、BACKUP、FORCE、QUICK 或 OFF。--myisam-sort-buffer-size=#:执行 REPAIR 或使用 CREATE INDEX 或 ALTER TABLE 创建索引时,排序索引所分配的缓冲区。--myisam-stats-method=name:指定 MyISAM 索引统计信息收集代码如何处理 NULL。--myisam-use-mmap:使用内存映射读写 MyISAM 表。
- 其他存储引擎
--archive[=name]:启用或禁用 ARCHIVE 插件。--blackhole[=name]:启用或禁用 BLACKHOLE 插件。--federated[=name]:启用或禁用 FEDERATED 插件。--ngram[=name]:启用或禁用 ngram 插件。--ndbcluster[=name]:启用或禁用 ndbcluster 插件。--ndbinfo[=name]:启用或禁用 ndbinfo 插件。
7. 复制与高可用性
- 复制配置
--replica-allow-batching:允许此副本在使用 NDB 存储引擎时批量处理请求。--replica-checkpoint-group=#:当使用多线程应用器时,指定两次更新之间已提交事务的最大数量。--replica-checkpoint-period=#:当使用多线程应用器时,指定两次更新之间的最大毫秒数。--replica-compressed-protocol:在源 / 副本协议中使用压缩。--replica-exec-mode=name:复制事件的执行模式。--replica-load-tmpdir=name:当复制来自 binlog_format=STATEMENT 的源的 LOAD DATA INFILE 命令时,此副本存储临时文件的位置。--replica-max-allowed-packet=#:从上游源服务器发送到此服务器的数据包的最大大小。--replica-net-timeout=#:在放弃读取之前,等待复制连接发送更多数据的秒数。--replica-parallel-type=name:复制应用器用于并行化事务的方法。--replica-parallel-workers=#:用于并行执行事件的工作线程数量。--replica-pending-jobs-size-max=#:尚未应用的每个工作线程事件队列的大小。--replica-preserve-commit-order:强制复制工作线程按与源上相同的顺序提交。--replica-skip-errors=name:逗号分隔的错误编号列表。如果此副本上的应用器线程在应用 Query_log_event 时遇到这些错误之一,它将忽略该错误。--replica-sql-verify-checksum:从中继日志读取后强制验证复制事件的校验和。--replica-transaction-retries=#:复制应用器在因死锁或其他临时错误失败后,在放弃并停止之前重试事务的次数。--replica-type-conversions=name:复制应用器线程可能用于行事件的类型转换集。--replicate-do-db=name:使复制应用器线程仅应用对指定数据库的更改。--replicate-do-table=name:使复制应用器线程仅应用对指定表的更改。--replicate-ignore-db=name:使复制应用器线程跳过对指定数据库的更改。--replicate-ignore-table=name:使复制应用器线程跳过对指定表的更改。--replicate-rewrite-db=name:使复制应用器线程重命名数据库。--replicate-same-server-id:在复制中,如果设置为 1,不跳过具有我们服务器 ID 的事件。--replicate-wild-do-table=name:使复制应用器线程仅应用与指定通配符模式匹配的表中的更改。--replicate-wild-ignore-table=name:使复制应用器线程跳过对与指定通配符模式匹配的表的更改。--rpl-read-size=#:从二进制日志和中继日志读取的大小。--rpl-stop-replica-timeout=#:在 STOP REPLICA 返回警告之前,等待复制线程停止的超时时间。--rpl-stop-slave-timeout=#:此选项已弃用。请改用 rpl_stop_replica_timeout。--source-verify-checksum:在将二进制日志中的事件发送到副本或在 SHOW BINLOG EVENTS 的输出中打印它们之前,强制验证事件的校验和。
- 高可用性
--gtid-executed-compression-period[=#]:每添加这么多事务后,通过唤醒前台线程(compress_gtid_table)压缩 mysql.gtid_executed 表。--gtid-mode=name:控制是否启用全局事务标识符(GTID)。--group-replication-consistency[=name]:事务一致性保证。--replication-optimize-for-static-plugin-config:可选标志,阻止插件安装 / 卸载,并允许跳过获取锁以从插件列表读取以及使用读优化的自旋锁。--replication-sender-observe-commit-only:可选标志,允许仅在提交时回调观察者钩子。
8. 安全与认证
- 用户与权限
--default-password-lifetime=#:密码过期前的天数。--mandatory-roles=name:所有指定的角色始终被视为授予每个用户,且不能被撤销。--password-history=#:要在历史记录中检查的旧密码数量。--password-require-current:更改密码时需要指定当前密码。--password-reuse-interval=#:密码可重用前必须经过的最小天数。--validate-user-plugins:开启对分配给用户账户的认证插件的额外验证。
- 加密与安全
--default-table-encryption:数据库和表空间创建时使用此默认加密属性。--require-secure-transport:当启用此选项时,将拒绝使用不安全传输的连接尝试。--ssl-cert=name:PEM 格式的 X509 证书。--ssl-key=name:PEM 格式的 X509 密钥。--tls-certificates-enforced-validation:如果设置为 TRUE,如果证书无效,服务器在启动时停止执行。--tls-version=name:TLS 版本。
9. 其他
- 初始化与配置
--basedir=name:安装目录路径。--datadir=name:数据库根目录路径。--initialize:创建默认数据库并退出。--initialize-insecure:创建默认数据库并退出。创建一个带有空密码的超级用户。--lc-messages=name:设置错误消息使用的语言。--lc-messages-dir=name:错误消息所在的目录。--lc-time-names=name:设置月份名称和星期几使用的语言。--plugin-dir=name:插件目录。--plugin-load=name:可选的要加载的插件的分号分隔列表。--plugin-load-add=name:可选的要加载的插件的分号分隔列表。
- 运行时选项
--auto-generate-certs:若未指定其他 SSL 系统变量且数据目录中无证书 / 密钥文件,服务器启动时自动生成 SSL 证书。--auto-increment-increment[=#]:自增列的增量值。--auto-increment-offset[=#]:自增列的偏移量。--autocommit:设置 autocommit 的默认值。--automatic-sp-privileges:创建和删除存储过程时修改 ACL。--back-log=#:MySQL 可接受的未完成连接请求数。--big-tables:通过将所有临时集保存到文件来允许大结果集。--binlog-checksum=name:BINLOG_CHECKSUM_ALG 的类型。--binlog-direct-non-transactional-updates:使使用语句格式的非事务引擎更新在执行后、事务提交前直接写入二进制日志。--binlog-do-db=name:写入二进制日志时,仅包含对指定数据库的更新。--binlog-encryption:启用 / 禁用二进制日志和中继日志加密。--binlog-error-action=name:当由于致命错误无法将语句写入二进制日志时,此选项决定服务器是忽略错误并关闭二进制日志,还是中止。--binlog-expire-logs-auto-purge:控制服务器是否自动清理二进制日志文件。--binlog-expire-logs-seconds=#:若非零,二进制日志将在 binlog_expire_logs_seconds 秒后被清理。--binlog-format=name:写入二进制日志时使用的格式。--binlog-group-commit-sync-delay=#:服务器在继续前等待二进制日志组提交同步队列填满的微秒数。--binlog-group-commit-sync-no-delay-count=#:若提交同步队列中有这么多事务,且服务器正在等待更多事务入队,则提交过程恢复。--binlog-gtid-simple-recovery:若启用此选项,服务器在初始化 GTID_PURGED 和 GTID_EXECUTED 时,打开的二进制日志不会超过两个。--binlog-ignore-db=name:写入二进制日志时,排除对指定数据库的更新。--binlog-max-flush-queue-time=#:二进制日志组提交在将事务刷新到二进制日志之前,保持读取事务的最长时间。--binlog-order-commits:按事务写入二进制日志的顺序发出内部提交调用。--binlog-rotate-encryption-master-key-at-startup:在启动时强制轮转二进制日志加密主密钥。--binlog-row-event-max-size=#:基于行的二进制日志事件的最大大小。--binlog-row-image=name:控制行在日志中的格式。--binlog-row-metadata=name:使用 ROW 格式时,控制写入二进制日志的类型信息数量。--binlog-row-value-options=name:设为 PARTIAL_JSON 时,此选项为使用 JSON_SET、JSON_REPLACE 和 JSON_REMOVE 函数修改 JSON 值的 UPDATE 语句启用空间高效的基于行的二进制日志格式。--binlog-rows-query-log-events:允许在二进制日志中写入 Rows_query_log 事件。--binlog-stmt-cache-size=#:二进制日志中非事务引擎更新的语句缓存大小。--binlog-transaction-compression:是否压缩事务。--binlog-transaction-compression-level-zstd=#:指定二进制日志中 ZSTD 事务压缩的压缩级别。--binlog-transaction-dependency-history-size=#:写入集历史中保留的最大行数。--character-set-filesystem=name:设置文件系统字符集。--character-set-server=name:设置默认字符集。--character-sets-dir=name:字符集所在目录。--check-proxy-users:若设为 FALSE(默认),则对于支持从授权表映射的认证插件,不会映射代理用户身份。--check-table-functions=name:升级时,服务器尝试打开在 DEFAULT、INDEX、PARTITION 子句、虚拟列和 CONSTRAINT 中包含 SQL 函数的表。--collation-server=name:设置默认排序规则。--completion-type=name:事务完成类型。--concurrent-insert[=name]:对 MyISAM 使用并发插入。--connect-timeout=#:mysqld 服务器在响应 “握手失败” 前等待连接数据包的秒数。--connection-memory-chunk-size=#:调节全局内存计数器更新频率的块大小。--connection-memory-limit=#:连接可消耗的最大内存量。--console:在屏幕上写入错误输出;在 Windows 上不关闭控制台窗口。--core-file:出错时写入核心转储文件。--create-admin-listener-thread:为管理接口上的传入连接监听使用专用线程。--cte-max-recursion-depth=#:若递归公用表表达式的迭代次数超过此值,则中止。--div-precision-increment=#:“/” 运算符结果的精度将增加此值。--early-plugin-load=name:存储引擎初始化前加载的可选分号分隔插件列表。--end-markers-in-json:在 JSON 输出中,若变量设为 1,会在闭合括号附近重复结构的键(如果有)。--enforce-gtid-consistency[=name]:阻止执行无法以事务安全方式记录的语句。--eq-range-index-dive-limit=#:若索引的等值范围数量大于或等于此数,优化器将使用现有索引统计信息而非进行索引探测。--event-scheduler[=name]:启用事件调度器。--exit-info[=#]:用于调试。--explain-format[=name]:EXPLAIN 语句显示信息的默认格式。--explain-json-format-version=#:使用旧(非超图)连接优化器的 EXPLAIN FORMAT=JSON 查询的 JSON 格式版本。--explicit-defaults-for-timestamp:此选项使 CREATE TABLE 创建所有 TIMESTAMP 列为 NULL 且带有 DEFAULT NULL 属性。--external-locking:使用系统(外部)锁定。--flush:在 SQL 命令之间将 MyISAM 表刷新到磁盘。--flush-time=#:创建一个专用线程,按指定间隔刷新所有表。--ft-boolean-syntax=name:MATCH … AGAINST(… IN BOOLEAN MODE)的运算符列表。--ft-max-word-len=#:包含在 FULLTEXT 索引中的单词的最大长度。--ft-min-word-len=#:包含在 FULLTEXT 索引中的单词的最小长度。--ft-query-expansion-limit=#:用于查询扩展的最佳匹配数。--ft-stopword-file=name:使用此文件中的停用词而非内置列表。--gdb:设置可用于调试的信号。--generated-random-password-length=#:确定 CREATE USER、SET PASSWORD 或 ALTER USER 语句中随机生成的密码长度。--global-connection-memory-limit=#:所有连接可消耗的最大内存量。--global-connection-memory-tracking:启用全局内存计数器更新和全局连接内存限制检查。--group-concat-max-len=#:GROUP_CONCAT () 函数结果的最大长度。--histogram-generation-max-mem-size=#:生成直方图可用的最大内存量。--host-cache-size=#:缓存的主机名数量,以避免解析。--information-schema-stats-expiry=#:mysqld 服务器从存储引擎获取数据并替换缓存中数据的秒数。--init-connect=name:每个新连接执行的命令。--init-file=name:启动时从该文件读取 SQL 命令。--init-replica=name:复制应用线程每次启动时执行的命令。--init-slave=name:此选项已弃用。使用 init_replica 代替。--interactive-timeout=#:服务器在关闭交互式连接前等待活动的秒数。--internal-tmp-mem-storage-engine=name:内存中内部临时表的默认存储引擎。--join-buffer-size=#:用于全连接的缓冲区大小。--keep-files-on-create:即使未指定目录,也不覆盖陈旧的.MYD 和.MYI。--key-cache-age-threshold=#:这表示热块在被视为足够旧以降级为温块之前必须未被触碰的命中次数。--key-cache-block-size=#:密钥缓存块的默认大小。--key-cache-division-limit=#:密钥缓存中温块的最小百分比。--lock-wait-timeout=#:获取锁前等待的超时秒数。--long-query-time=#:将所有执行时间超过 long_query_time 秒的查询记录到文件。--low-priority-updates:INSERT/DELETE/UPDATE 的优先级低于 SELECT。--lower-case-table-names[=#]:若设为 1,表名在磁盘上以小写存储,且表名不区分大小写。--max-allowed-packet=#:发送到服务器或从服务器接收的最大数据包长度。--max-binlog-cache-size=#:设置事务缓存的总大小。--max-binlog-dump-events=#:mysql-test 用于复制调试和测试的选项。--max-binlog-size=#:当大小超过此值时,二进制日志将自动轮转。--max-binlog-stmt-cache-size=#:设置语句缓存的总大小。--max-connect-errors=#:若来自某个主机的中断连接数超过此数,该主机将被阻止进一步连接。--max-connections=#:允许的同时客户端数。--max-delayed-threads=#:不启动超过此数的线程来处理 INSERT DELAYED 语句。--max-digest-length=#:考虑用于摘要文本的最大长度。--max-execution-time=#:终止执行时间超过指定毫秒数的 SELECT 语句。--max-heap-table-size=#:不允许创建大于此大小的堆表。--max-join-size=#:可能读取超过 max_join_size 条记录的连接返回错误。--max-length-for-sort-data=#:此变量已弃用,将在未来版本中移除。--max-points-in-geometry[=#]:几何图形中的最大点数。--max-prepared-stmt-count=#:服务器中准备语句的最大数量。--max-relay-log-size=#:若非零:当大小超过此值时,中继日志将自动轮转;若为零:当大小超过 max_binlog_size 时轮转。--max-seeks-for-key=#:限制基于密钥查找行时假定的最大寻道次数。--max-sort-length=#:使用 PAD SPACE 排序规则排序长值时使用的字节数。--max-sp-recursion-depth[=#]:存储过程的最大递归深度。--max-user-connections=#:单个用户的最大活动连接数。--max-write-lock-count=#:在此数量的写锁之后,允许一些读锁在中间运行。--memlock:将 mysqld 锁定在内存中。--min-examined-row-limit=#:不将检查行数少于此数的查询写入慢日志。--myisam-block-size=#:MyISAM 索引页使用的块大小。--myisam-data-pointer-size=#:MyISAM 表使用的默认指针大小。--myisam-max-sort-file-size=#:若临时文件会大于此值,则不使用快速排序索引方法创建索引。--myisam-mmap-size=#:限制用于 MySQL 表内存映射的总内存。--myisam-recover-options[=name]:语法:myisam-recover-options [=option [,option…]],其中 option 可以是 DEFAULT、BACKUP、FORCE、QUICK 或 OFF。--myisam-sort-buffer-size=#:执行 REPAIR 或使用 CREATE INDEX 或 ALTER TABLE 创建索引时,排序索引所分配的缓冲区。--myisam-stats-method=name:指定 MyISAM 索引统计信息收集代码如何处理 NULL。--myisam-use-mmap:使用内存映射读写 MyISAM 表。--mysql-native-password[=name]:启用或禁用 mysql_native_password 插件。--mysql-native-password-proxy-users:若设为 FALSE(默认),则 mysql_native_password 插件不会为已认证用户发出检查代理用户映射的信号。--mysqlx[=name]:启用或禁用 mysqlx 插件。--mysqlx-bind-address[=name]:X 插件应绑定 TCP 套接字的地址。--mysqlx-cache-cleaner[=name]:启用或禁用 mysqlx_cache_cleaner 插件。--mysqlx-compression-algorithms[=name]:压缩算法。--mysqlx-connect-timeout[=#]:连接建立会话的最大允许等待时间(秒)。--mysqlx-deflate-default-compression-level[=#]:deflate 算法的默认压缩级别值。--mysqlx-deflate-max-client-compression-level[=#]:deflate 算法的最大客户端压缩级别值。--mysqlx-document-id-unique-prefix[=#]:唯一前缀是 InnoDB 集群分配给实例的值,旨在使文档 ID 在同一集群的所有副本集中唯一。--mysqlx-enable-hello-notice:问候通知是服务器在连接建立后发送的 X 协议消息,使用此变量可以禁用。--mysqlx-idle-worker-thread-timeout[=#]:空闲工作线程终止后的时间(秒)。--mysqlx-interactive-timeout[=#]:当连接为交互式时,“mysqlx_wait_timeout” 的默认值。--mysqlx-lz4-default-compression-level[=#]:lz4 算法的默认压缩级别值。--mysqlx-lz4-max-client-compression-level[=#]:lz4 算法的最大客户端压缩级别值。--mysqlx-max-allowed-packet[=#]:客户端将处理的最大消息大小。--mysqlx-max-connections[=#]:并发 X 协议连接的最大数量。--mysqlx-min-worker-threads[=#]:工作线程的最小数量。--mysqlx-port[=#]:X 插件将接受传入连接的端口。--mysqlx-port-open-timeout[=#]:X 插件在绑定服务器套接字失败时将重试的时间(秒)。--mysqlx-read-timeout[=#]:X 插件必须等待阻塞读操作完成的秒数。--mysqlx-socket[=name]:X 插件用于本地连接的 unix 套接字。--mysqlx-ssl-ca=name:PEM 格式的 CA 文件。--mysqlx-ssl-capath=name:CA 目录。--mysqlx-ssl-cert=name:PEM 格式的 X509 证书。--mysqlx-ssl-cipher=name:使用的 SSL 密码套件。--mysqlx-ssl-crl=name:证书吊销列表。--mysqlx-ssl-crlpath=name:证书吊销列表路径。--mysqlx-ssl-key=name:PEM 格式的 X509 密钥。--mysqlx-wait-timeout[=#]:X 插件必须等待非交互式连接上活动的秒数。--mysqlx-write-timeout[=#]:X 插件必须等待阻塞写操作完成的秒数。--mysqlx-zstd-default-compression-level[=#]:zstd 算法的默认压缩级别值。--mysqlx-zstd-max-client-compression-level[=#]:zstd 算法的最大客户端压缩级别值。--net-buffer-length=#:TCP/IP 和套接字通信的缓冲区长度。--net-read-timeout=#:在放弃读取之前,等待连接发送更多数据的秒数。--net-retry-count=#:如果通信端口上的读取被中断,在放弃之前重试的次数。--net-write-timeout=#:在放弃写入之前,等待块写入连接的秒数。--no-monitor:禁用监控进程。--offline-mode:将服务器置于离线模式。--old-alter-table:使用旧的、非优化的 alter table。--open-files-limit=#:如果此值不为 0,mysqld 将使用此值通过 setrlimit () 保留文件描述符。--optimizer-max-subgraph-pairs=#:在超图连接优化器开始启发式地减少搜索空间之前,查询可以拥有的子图对的最大深度。--optimizer-prune-level=#:控制查询优化期间应用的启发式方法,以从优化器搜索空间中修剪不太有前景的部分计划。--optimizer-search-depth=#:查询优化器执行的最大搜索深度。--optimizer-switch=name:optimizer_switch = 选项 = 值 [, 选项 = 值…],其中选项是 {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, hash_set_operations} 中的一个,值是 {on, off, default} 中的一个。--optimizer-trace=name:控制优化器的跟踪:optimizer_trace = 选项 = 值 [, 选项 = 值…],其中选项是 {enabled, one_line} 中的一个,值是 {on, default} 中的一个。--optimizer-trace-features=name:启用 / 禁用优化器选定功能的跟踪:optimizer_trace_features = 选项 = 值 [, 选项 = 值…],其中选项是 {greedy_search, range_optimizer, dynamic_range, repeated_subselect} 中的一个,值是 {on, off, default} 中的一个。--optimizer-trace-limit=#:显示的优化器跟踪的最大数量。--optimizer-trace-max-mem-size=#:存储的优化器跟踪的最大允许累积大小。--optimizer-trace-offset=#:要显示的第一个优化器跟踪的偏移量。--parser-max-mem-size=#:解析器可用的最大内存量。--partial-revokes:即使用户被授予全局权限,数据库对象的访问也可以被限制。--password-history=#:要在历史记录中检查的旧密码数量。--password-require-current:更改密码时需要指定当前密码。--password-reuse-interval=#:密码可重用前必须经过的最小天数。--performance-schema:启用性能模式。--performance-schema-accounts-size=#:已 instrumentation 的 user@host 账户的最大数量。--performance-schema-consumer-events-stages-current:events_stages_current 消费者的默认启动值。--performance-schema-consumer-events-stages-history:events_stages_history 消费者的默认启动值。--performance-schema-consumer-events-stages-history-long:events_stages_history_long 消费者的默认启动值。--performance-schema-consumer-events-statements-current:events_statements_current 消费者的默认启动值。--performance-schema-consumer-events-statements-history:events_statements_history 消费者的默认启动值。--performance-schema-consumer-events-statements-history-long:events_statements_history_long 消费者的默认启动值。--performance-schema-consumer-events-transactions-current:events_transactions_current 消费者的默认启动值。--performance-schema-consumer-events-transactions-history:events_transactions_history 消费者的默认启动值。--performance-schema-consumer-events-transactions-history-long:events_transactions_history_long 消费者的默认启动值。--performance-schema-consumer-events-waits-current:events_waits_current 消费者的默认启动值。--performance-schema-consumer-events-waits-history:events_waits_history 消费者的默认启动值。--performance-schema-consumer-events-waits-history-long:events_waits_history_long 消费者的默认启动值。--performance-schema-consumer-global-instrumentation:global_instrumentation 消费者的默认启动值。--performance-schema-consumer-statements-digest:statements_digest 消费者的默认启动值。--performance-schema-consumer-thread-instrumentation:thread_instrumentation 消费者的默认启动值。--performance-schema-digests-size=#:语句摘要的大小。--performance-schema-error-size=#:已 instrumentation 的服务器错误数量。--performance-schema-events-stages-history-long-size=#:EVENTS_STAGES_HISTORY_LONG 中的行数。--performance-schema-events-stages-history-size=#:每个线程在 EVENTS_STAGES_HISTORY 中的行数。--performance-schema-events-statements-history-long-size=#:EVENTS_STATEMENTS_HISTORY_LONG 中的行数。--performance-schema-events-statements-history-size=#:每个线程在 EVENTS_STATEMENTS_HISTORY 中的行数。--performance-schema-events-transactions-history-long-size=#:EVENTS_TRANSACTIONS_HISTORY_LONG 中的行数。--performance-schema-events-transactions-history-size=#:每个线程在 EVENTS_TRANSACTIONS_HISTORY 中的行数。--performance-schema-events-waits-history-long-size=#:EVENTS_WAITS_HISTORY_LONG 中的行数。--performance-schema-events-waits-history-size=#:每个线程在 EVENTS_WAITS_HISTORY 中的行数。--performance-schema-hosts-size=#:已 instrumentation 的主机的最大数量。--performance-schema-instrument[=name]:性能模式工具的默认启动值。--performance-schema-max-cond-classes=#:条件工具的最大数量。--performance-schema-max-cond-instances=#:已 instrumentation 的条件对象的最大数量。--performance-schema-max-digest-length=#:存储在 performance_schema 表中时,摘要文本考虑的最大长度。--performance-schema-max-digest-sample-age=#:以前的查询样本被视为旧样本后的时间(以秒为单位)。--performance-schema-max-file-classes=#:文件工具的最大数量。--performance-schema-max-file-handles=#:已打开的已 instrumentation 的文件的最大数量。--performance-schema-max-file-instances=#:已 instrumentation 的文件的最大数量。--performance-schema-max-index-stat=#:已 instrumentation 的表的索引统计信息的最大数量。--performance-schema-max-memory-classes=#:内存池工具的最大数量。--performance-schema-max-metadata-locks=#:元数据锁的最大数量。--performance-schema-max-meter-classes=#:计量源工具的最大数量。--performance-schema-max-metric-classes=#:指标源工具的最大数量。--performance-schema-max-mutex-classes=#:互斥锁工具的最大数量。--performance-schema-max-mutex-instances=#:已 instrumentation 的 MUTEX 对象的最大数量。--performance-schema-max-prepared-statements-instances=#:已 instrumentation 的预处理语句的最大数量。--performance-schema-max-program-instances=#:已 instrumentation 的程序的最大数量。--performance-schema-max-rwlock-classes=#:读写锁工具的最大数量。--performance-schema-max-rwlock-instances=#:已 instrumentation 的 RWLOCK 对象的最大数量。--performance-schema-max-socket-classes=#:套接字工具的最大数量。--performance-schema-max-socket-instances=#:已打开的已 instrumentation 的套接字的最大数量。--performance-schema-max-sql-text-length=#:显示的 sql 文本的最大长度。--performance-schema-max-stage-classes=#:阶段工具的最大数量。--performance-schema-max-statement-classes=#:语句工具的最大数量。--performance-schema-max-statement-stack=#:每个线程在 EVENTS_STATEMENTS_CURRENT 中的行数。--performance-schema-max-table-handles=#:已打开的已 instrumentation 的表的最大数量。--performance-schema-max-table-instances=#:已 instrumentation 的表的最大数量。--performance-schema-max-table-lock-stat=#:已 instrumentation 的表的锁统计信息的最大数量。--performance-schema-max-thread-classes=#:线程工具的最大数量。--performance-schema-max-thread-instances=#:已 instrumentation 的线程的最大数量。--performance-schema-session-connect-attrs-size=#:每个线程的会话属性字符串缓冲区大小。--performance-schema-setup-actors-size=#:SETUP_ACTORS 中的最大行数。--performance-schema-setup-objects-size=#:SETUP_OBJECTS 中的最大行数。--performance-schema-show-processlist:在性能模式中启用 SHOW PROCESSLIST 的默认启动值。--performance-schema-users-size=#:已 instrumentation 的用户的最大数量。--persist-only-admin-x509-subject[=name]:启用通过 SET PERSIST [_ONLY] 设置所有系统变量所需的客户端对等证书名称。--persist-sensitive-variables-in-plaintext:如果设置为 FALSE,服务器将拒绝以明文形式持久化敏感变量。--persisted-globals-load:当启用此选项时,将读取配置文件 mysqld-auto.cnf 并应用于服务器。--pid-file=name:safe_mysqld 使用的 pid 文件。--plugin-dir=name:插件目录。--plugin-load=name:可选的要加载的插件的分号分隔列表。--plugin-load-add=name:可选的要加载的插件的分号分隔列表。--port=#:用于连接的端口号。--port-open-timeout=#:等待端口释放的最大时间(以秒为单位)。--preload-buffer-size=#:预加载索引时分配的缓冲区大小。--print-identified-with-as-hex:如果 SHOW CREATE USER 包含不可打印字符,将以十六进制打印 AS 子句。--profiling-history-size=#:查询分析内存限制。--protocol-compression-algorithms=name:服务器支持的压缩算法列表。--query-alloc-block-size=#:查询解析和执行的分配块大小。--query-prealloc-size=#:查询解析和执行的持久缓冲区。--range-alloc-block-size=#:优化期间存储范围的分配块大小。--range-optimizer-max-mem-size=#:范围优化器在范围分析期间用于分配谓词的最大内存量。--read-buffer-size=#:每个执行顺序扫描的线程为其扫描的每个表分配一个此大小的缓冲区。--read-only:使所有非临时表为只读,但复制应用器线程和具有 SUPER 权限的用户除外。--read-rnd-buffer-size=#:在排序后按排序顺序读取行时,通过此缓冲区读取行以避免磁盘寻道。--regexp-stack-limit=#:正则表达式匹配的堆栈大小限制。--regexp-time-limit=#:正则表达式匹配的超时时间。--relay-log=name:用于中继日志的位置和名称。--relay-log-index=name:保存中继日志文件名称的文件。--relay-log-purge:如果禁用,则不清除中继日志。--relay-log-recovery:如果启用,复制线程将跳过现有的中继日志。--relay-log-space-limit=#:所有中继日志使用的最大空间。--replica-allow-batching:允许此副本在使用 NDB 存储引擎时批量处理请求。--replica-checkpoint-group=#:当使用多线程应用器时,指定两次更新之间已提交事务的最大数量。--replica-checkpoint-period=#:当使用多线程应用器时,指定两次更新之间的最大毫秒数。--replica-compressed-protocol:在源 / 副本协议中使用压缩。--replica-exec-mode=name:复制事件的执行模式。--replica-load-tmpdir=name:当复制来自 binlog_format=STATEMENT 的源的 LOAD DATA INFILE 命令时,此副本存储临时文件的位置。--replica-max-allowed-packet=#:从上游源服务器发送到此服务器的数据包的最大大小。--replica-net-timeout=#:在放弃读取之前,等待复制连接发送更多数据的秒数。--replica-parallel-type=name:复制应用器用于并行化事务的方法。--replica-parallel-workers=#:用于并行执行事件的工作线程数量。--replica-pending-jobs-size-max=#:尚未应用的每个工作线程事件队列的大小。--replica-preserve-commit-order:强制复制工作线程按与源上相同的顺序提交。--replica-skip-errors=name:逗号分隔的错误编号列表。如果此副本上的应用器线程在应用 Query_log_event 时遇到这些错误之一,它将忽略该错误。--replica-sql-verify-checksum:从中继日志读取后强制验证复制事件的校验和。--replica-transaction-retries=#:复制应用器在因死锁或其他临时错误失败后,在放弃并停止之前重试事务的次数。--replica-type-conversions=name:复制应用器线程可能用于行事件的类型转换集。--replicate-do-db=name:使复制应用器线程仅应用对指定数据库的更改。--replicate-do-table=name:使复制应用器线程仅应用对指定表的更改。--replicate-ignore-db=name:使复制应用器线程跳过对指定数据库的更改。--replicate-ignore-table=name:使复制应用器线程跳过对指定表的更改。--replicate-rewrite-db=name:使复制应用器线程重命名数据库。--replicate-same-server-id:在复制中,如果设置为 1,不跳过具有我们服务器 ID 的事件。--replicate-wild-do-table=name:使复制应用器线程仅应用与指定通配符模式匹配的表中的更改。--replicate-wild-ignore-table=name:使复制应用器线程跳过对与指定通配符模式匹配的表的更改。--replication-optimize-for-static-plugin-config:可选标志,阻止插件安装 / 卸载,并允许跳过获取锁以从插件列表读取以及使用读优化的自旋锁。--replication-sender-observe-commit-only:可选标志,允许仅在提交时回调观察者钩子。--report-host=name:此副本在初始化复制连接时向源报告的主机名或 IP。--report-password=name:此副本在初始化复制连接时向源报告的账户密码。--report-port=#:连接到副本的端口,此副本在初始化复制连接时向源报告。--report-user=name:此副本在初始化复制连接时向源报告的账户用户名。--require-secure-transport:当启用此选项时,将拒绝使用不安全传输的连接尝试。--restrict-fk-on-non-standard-key:禁止创建引用非唯一键或部分键的外键。--rpl-read-size=#:从二进制日志和中继日志读取的大小。--rpl-stop-replica-timeout=#:在 STOP REPLICA 返回警告之前,等待复制线程停止的超时时间。--rpl-stop-slave-timeout=#:此选项已弃用。请改用 rpl_stop_replica_timeout。--safe-user-create:不允许对 mysql.user 表没有写权限的用户创建新用户。--schema-definition-cache=#:缓存的模式定义数量。--secondary-engine-cost-threshold[=#]:控制哪些语句考虑在次要存储引擎中执行。--secure-file-priv=name:将 LOAD DATA、SELECT … OUTFILE 和 LOAD_FILE () 限制在指定目录内的文件。--select-into-buffer-size[=#]:SELECT INTO OUTFILE/DUMPFILE 的缓冲区大小。--select-into-disk-sync:为 SELECT INTO OUTFILE/DUMPFILE 将刷新的缓冲区与磁盘同步。--select-into-disk-sync-delay[=#]:对于 SELECT INTO OUTFILE/DUMPFILE,每次缓冲区同步后的延迟时间(以毫秒为单位)。--server-id=#:在复制伙伴社区中唯一标识服务器实例。--server-id-bits=#:设置 server-id 中的有效位数。--session-track-gtids=name:控制服务器发送的响应数据包中包含的全局事务 ID 的数量。--session-track-schema:跟踪对 “默认模式” 的更改。--session-track-state-change:跟踪对 “会话状态” 的更改。--session-track-system-variables=name:跟踪已注册系统变量的更改。--session-track-transaction-info=name:跟踪事务属性的更改。--set-operations-buffer-size=#:用于基于哈希的集合操作的缓冲区的最大大小。--sha256-password-auto-generate-rsa-keys:如果相应的系统变量未指定且默认位置不存在密钥文件,则在服务器启动时自动生成 RSA 密钥。--sha256-password-private-key-path=name:用于认证的私有 RSA 密钥的完全限定路径。--sha256-password-proxy-users:如果设置为 FALSE(默认值),则 sha256_password 认证插件不会发出信号要求检查已认证用户是否映射到代理用户。--sha256-password-public-key-path=name:用于认证的公共 RSA 密钥的完全限定路径。--shared-memory:启用共享内存。--shared-memory-base-name=name:共享内存的基本名称。--show-create-table-verbosity:当启用此选项时,它会增加 ‘SHOW CREATE TABLE’ 的详细程度。--show-gipk-in-create-table-and-information-schema:当设置时,如果为表生成了主键,则 SHOW 命令和 INFORMATION_SCHEMA 表会显示生成的不可见主键定义。--show-replica-auth-info:在 SHOW REPLICAS 语句中包含用户和密码。--show-slave-auth-info:此选项已弃用,将在未来版本中移除。请改用 show-replica-auth-info。--skip-grant-tables:不加载授权表启动。这给予所有用户对所有表的完全访问权限。--skip-name-resolve:不解析主机名。所有主机名都是 IP 或’localhost’。--skip-networking:不允许使用 TCP/IP 连接。--skip-new:不使用新的、可能有错误的例程。--skip-replica-start:服务器启动时不自动启动复制线程。--skip-show-database:不允许 ‘SHOW DATABASE’ 命令。--skip-slave-start:此选项已弃用。请改用 skip_replica_start。--skip-stack-trace:失败时不打印堆栈跟踪。--slave-allow-batching:此选项已弃用。请改用 replica_allow_batching。--slave-checkpoint-group=#:此选项已弃用。请改用 replica_checkpoint_group。--slave-checkpoint-period=#:此选项已弃用。请改用 replica_checkpoint_period。--slave-compressed-protocol:此选项已弃用。请改用 replica_compressed_protocol。--slave-exec-mode=name:此选项已弃用。请改用 replica_exec_mode。--slave-load-tmpdir=name:此选项已弃用。请改用 replica_load_tmpdir。--slave-max-allowed-packet=#:此选项已弃用。请改用 replica_max_allowed_packet。--slave-net-timeout=#:此选项已弃用。请改用 replica_net_timeout。--slave-parallel-type=name:此选项已弃用。请改用 replica_parallel_type。--slave-parallel-workers=#:此选项已弃用。请改用 replica_parallel_workers。--slave-pending-jobs-size-max=#:此选项已弃用。请改用 replica_pending_jobs_size_max。--slave-preserve-commit-order:此选项已弃用。请改用 replica_preserve_commit_order。--slave-skip-errors=name:此选项已弃用。请改用 replica_skip_errors。--slave-sql-verify-checksum:此选项已弃用。请改用 replica_sql_verify_checksum。--slave-transaction-retries=#:此选项已弃用。请改用 replica_transaction_retries。--slave-type-conversions=name:此选项已弃用。请改用 replica_type_conversions。--slow-launch-time=#:如果创建线程的时间超过此值(以秒为单位),Slow_launch_threads 计数器将递增。--slow-query-log:将慢查询记录到表或日志文件。--slow-query-log-file=name:将慢查询记录到指定的日志文件。--socket=name:用于连接的套接字文件。--sort-buffer-size=#:每个需要排序的线程分配一个此大小的缓冲区。--sql-generate-invisible-primary-key:当设置时,如果创建的表没有主键,则服务器会为该表生成不可见的自增列作为主键。--sql-mode=name:语法:sql-mode = 模式 [, 模式 [, 模式…]]。--sql-require-primary-key:当设置时,创建表时必须带有主键,并且不能使用 ‘ALTER TABLE’ 移除现有的主键。--ssl-ca=name:PEM 格式的 CA 文件。--ssl-capath=name:CA 目录。--ssl-cert=name:PEM 格式的 X509 证书。--ssl-cipher=name:要使用的 SSL 密码。--ssl-crl=name:PEM 格式的 CRL 文件。--ssl-crlpath=name:CRL 目录。--ssl-fips-mode=name:SSL FIPS 模式(仅适用于 OpenSSL)。--ssl-key=name:PEM 格式的 X509 密钥。--ssl-session-cache-mode:TLS 会话缓存是否启用。--ssl-session-cache-timeout=#:TLS 会话缓存中会话的过期超时时间。--standalone:作为独立程序启动的虚拟选项(NT)。--stored-program-cache=#:一个连接的缓存存储例程数量的软上限。--stored-program-definition-cache=#:缓存的存储程序定义数量。--super-read-only:使所有非临时表为只读,但复制应用器线程除外。--symbolic-links:启用符号链接支持(已弃用,将在未来版本中移除)。--sync-binlog=#:每写入 # 次文件后,将二进制日志同步刷新到磁盘。--sync-master-info=#:此选项已弃用。请改用 sync_source_info。--sync-relay-log=#:每 # 个事件后,将中继日志同步刷新到磁盘。--sync-relay-log-info=#:每 # 个事务后,将中继日志信息同步刷新到磁盘。--sync-source-info=#:定期将复制接收者位置同步到磁盘,在指定数量的事件之后。--sysdate-is-now:将 SYSDATE () 别名为 NOW () 的非默认选项。--table-definition-cache=#:缓存的表定义数量。--table-encryption-privilege-check:指示当用户尝试为 CREATE DATABASE 或 CREATE TABLESPACE 使用非默认值,或者尝试使用与每个数据库默认值不同的 ENCRYPTION 选项创建表时,服务器是否启用权限检查。--table-open-cache=#:缓存的打开表数量(所有表缓存实例的总数)。--table-open-cache-instances=#:表缓存实例的数量。--tablespace-definition-cache=#:缓存的表空间定义数量。--tc-heuristic-recover=name:在启发式恢复过程中使用的决策。--temptable-max-mmap=#:TempTable 存储引擎在开始将数据存储到磁盘之前,允许从 MMAP 支持的文件分配的最大内存量。--temptable-max-ram=#:TempTable 存储引擎在开始将数据存储到磁盘之前,允许从主内存(RAM)分配的最大内存量。--temptable-use-mmap:为临时表使用 mmap 文件。--terminology-use-previous=name:使监控表和语句使用在特定版本中更改之前使用的标识符。--thread-cache-size=#:我们应该在缓存中保留多少线程以供重用。--thread-handling=name:定义用于处理查询的线程使用方式。--thread-stack=#:每个线程的堆栈大小。--tls-certificates-enforced-validation:如果设置为 TRUE,如果证书无效,服务器在启动时停止执行。--tls-ciphersuites=name:要使用的 TLS v1.3 密码套件。--tls-version=name:TLS 版本。--tmp-table-size=#:如果 MEMORY 或 TempTable 存储引擎中的内部内存临时表超过此大小,MySQL 将自动将其转换为磁盘表。--tmpdir=name:临时文件的路径。--transaction-alloc-block-size=#:用于存储在二进制日志中的事务的分配块大小。--transaction-isolation=name:默认事务隔离级别。--transaction-prealloc-size=#:用于存储在二进制日志中的事务的持久缓冲区。--transaction-read-only:默认事务访问模式。--updatable-views-with-limit=name:YES = 如果在带有 LIMIT 子句的查询中使用没有基础表键的视图进行更新,不发出错误消息(仅警告)。NO = 禁止更新不包含基础表键且查询使用 LIMIT 子句(通常来自 GUI 工具)的视图。--upgrade=name:设置服务器升级模式。--user=name:以用户身份运行 mysqld 守护进程。--validate-config:验证用户指定的服务器配置。--validate-user-plugins:开启对分配给用户账户的认证插件的额外验证。--verbose:与 --help 选项一起使用以获取详细帮助。--version:输出版本信息并退出。--wait-timeout=#:服务器在关闭连接之前等待连接上活动的秒数。--windowing-use-high-precision:对于 SQL 窗口函数,确定是否也为浮点值的移动窗口框架启用反转优化。--xa-detach-on-prepare:当设置时,XA 事务将作为 XA PREPARE 的一部分与连接分离。








