启动mysqld服务器时,可以使用第4.2.3节“指定程序选项”中介绍的任何方法 指定程序选项。最常见的方法是在选项文件或命令行中提供选项。但是,在大多数情况下,确保服务器每次运行时都使用相同的选项。确保这一点的最好方法是将它们列在选项文件中。
mysqld读取[mysqld]和[server] 组中的选项 。mysqld_safe的读取选项 [mysqld],[server], [mysqld_safe],和 [safe_mysqld]团体。 mysql.server读取[mysqld]和[mysql.server] 组中的选项 。
mysqld接受许多命令选项。对于一个简短的总结,执行这个命令:
mysqld --help
要查看完整列表,请使用以下命令:
mysqld --verbose --help
列表中的一些项目实际上是可以在服务器启动时设置的系统变量。这些可以在运行时使用该SHOW VARIABLES
语句显示。前面的mysqld 命令显示的某些项目不会出现在SHOW VARIABLES
输出中; 这是因为它们只是选项而不是系统变量。
以下列表显示了一些最常用的服务器选项。其他部分介绍其他选项:
一些选项控制缓冲区或缓存的大小。对于给定的缓冲区,服务器可能需要分配内部数据结构。这些结构通常是从分配给缓冲区的总内存中分配的,而所需的空间量可能与平台有关。这意味着,当您为控制缓冲区大小的选项分配值时,实际可用的空间量可能与分配的值不同。在某些情况下,金额可能小于指定的金额。服务器也可能会向上调整一个值。例如,如果将值0赋予最小值为1024的选项,则服务器将将值设置为1024。
除非另有说明,缓冲区大小,长度和堆栈大小的值以字节为单位给出。
一些选项采用文件名称值。除非另有说明,否则如果该值是相对路径名称,则默认文件位置是数据目录。要明确指定位置,请使用绝对路径名称。假设数据目录是 /var/mysql/data。如果文件值选项是作为相对路径名给出的,它将位于下方 /var/mysql/data。如果该值是绝对路径名,则其位置如路径名所示。
您也可以在服务器启动时通过使用变量名称作为选项来设置服务器系统变量的值。要将值分配给服务器系统变量,请使用表单的选项 。例如, 将该变量设置 为384MB的值。 --var_name=value--sort_buffer_size=384Msort_buffer_size
当你给一个变量赋值时,MySQL可能会自动修正该值以保持在给定范围内,或者如果只允许某些值,则将该值调整到最接近的允许值。
要限制在运行时可以用SET 语句设置系统变量的 最大值,请使用 服务器启动时表单的选项来指定此最大值 。 --maximum-var_name=value
您可以使用该SET 语句在运行时更改大多数系统变量的值。
--help
, -?
属性 | 值 |
---|---|
命令行格式 | --help |
显示一条简短的帮助信息并退出。使用 --verbose
和 --help
选项来查看完整的信息。
--allow-suspicious-udfs
属性 | 值 |
---|---|
命令行格式 | --allow-suspicious-udfs |
类型 | 布尔 |
默认 | FALSE |
该选项控制是否xxx
可以加载仅具有主函数符号的用户定义函数。默认情况下,该选项关闭,只能加载至少有一个辅助符号的UDF; 这可以防止尝试从除包含合法UDF的共享对象文件之外的共享对象文件加载功能。
--ansi
属性 | 值 |
---|---|
命令行格式 | --ansi |
使用标准(ANSI)SQL语法而不是MySQL语法。要更精确地控制服务器SQL模式,请--sql-mode
改为使用该 选项。
--basedir=
, dir_name
-b
dir_name
属性 | 值 |
---|---|
命令行格式 | --basedir=dir_name |
系统变量 | basedir |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 目录名称 |
默认(> = 8.0.2) | parent of mysqld installation directory |
MySQL安装目录的路径。该选项设置basedir
系统变量。
服务器可执行文件在启动时确定自己的完整路径名,并使用它所在的目录的父目录作为默认 basedir
值。这反过来使服务器basedir
在搜索与服务器相关的信息(如share
包含错误消息的目录)时 可以使用它 。
--big-tables
属性 | 值 |
---|---|
命令行格式 | --big-tables |
系统变量 | big_tables |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | OFF |
通过将所有临时集保存在文件中来启用大型结果集。此选项可防止大多数“ 表满 ” 错误,但也会减慢内存表可满足的查询速度。服务器能够使用小型临时表的内存自动处理大型结果集,并在必要时切换到磁盘表。
--bind-address=
addr
属性 | 值 |
---|---|
命令行格式 | --bind-address=addr |
系统变量 | bind_address |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 串 |
默认 | * |
MySQL服务器在单个网络套接字上侦听TCP / IP连接。该套接字绑定到单个地址,但地址可能映射到多个网络接口。要指定地址,请 在服务器启动时使用该 选项,其中 是IPv4或IPv6地址或主机名。如果是主机名称,则服务器将名称解析为IP地址并绑定到该地址。 --bind-address=
addr
addr
addr
服务器如下处理不同类型的地址:
如果地址是*
,则服务器接受所有服务器主机IPv6和IPv4接口上的TCP / IP连接(如果服务器主机支持IPv6),否则接受所有IPv4地址上的TCP / IP连接。使用此地址允许所有服务器接口上的IPv4和IPv6连接。该值是默认值。
如果地址是0.0.0.0
,则服务器接受所有服务器主机IPv4接口上的TCP / IP连接。
如果地址是::
,则服务器接受所有服务器主机IPv4和IPv6接口上的TCP / IP连接。
如果地址是IPv4映射地址,则服务器接受IPv4或IPv6格式的该地址的TCP / IP连接。例如,如果服务器绑定::ffff:127.0.0.1
,客户端可以使用--host=127.0.0.1
或 连接--host=::ffff:127.0.0.1
。
如果地址是“ 常规 ” IPv4或IPv6地址(如127.0.0.1
或 ::1
),则服务器仅接受该IPv4或IPv6地址的TCP / IP连接。
如果您打算将服务器绑定到特定地址,请确保mysql.user
授权表中包含具有可用于连接到该地址的管理权限的帐户。否则,您将无法关闭服务器。例如,如果将服务器绑定到*
,则可以使用所有现有帐户连接到该服务器。但是如果你绑定了服务器 ::1
,它只接受该地址上的连接。在这种情况下,首先确保 'root'@'::1'
帐户存在于 mysql.user
表中,这样您仍然可以连接到服务器以将其关闭。
--binlog-format={ROW|STATEMENT|MIXED}
属性 | 值 |
---|---|
命令行格式 | --binlog-format=format |
系统变量 | binlog_format |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 列举 |
默认 | ROW |
有效值 |
|
指定是使用基于行的,基于语句的还是混合的复制。基于语句是MySQL 8.0中的默认设置。
在某些情况下,在运行时更改此变量是不可能的,或导致复制失败。
设置二进制日志记录格式而不启用二进制日志记录会设置 binlog_format
全局系统变量并记录警告。
--character-sets-dir=
dir_name
属性 | 值 |
---|---|
命令行格式 | --character-sets-dir=dir_name |
系统变量 | character_sets_dir |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 目录名称 |
安装字符集的目录。
--character-set-client-handshake
属性 | 值 |
---|---|
命令行格式 | --character-set-client-handshake |
类型 | 布尔 |
默认 | TRUE |
不要忽略客户端发送的字符集信息。要忽略客户端信息并使用默认服务器字符集,请使用 --skip-character-set-client-handshake
; 这使得MySQL像MySQL 4.0一样行事。
--character-set-filesystem=
charset_name
属性 | 值 |
---|---|
命令行格式 | --character-set-filesystem=name |
系统变量 | character_set_filesystem |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 串 |
默认 | binary |
文件系统字符集。该选项设置 character_set_filesystem
系统变量。
--character-set-server=
, charset_name
-C
charset_name
属性 | 值 |
---|---|
命令行格式 | --character-set-server |
系统变量 | character_set_server |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 串 |
默认(> = 8.0.1) | utf8mb4 |
默认(8.0.0) | latin1 |
使用charset_name
作为默认服务器字符集。如果使用此选项指定非默认字符集,则还应该使用--collation-server
指定排序规则。
--chroot=
, dir_name
-r
dir_name
属性 | 值 |
---|---|
命令行格式 | --chroot=dir_name |
类型 | 目录名称 |
使用系统调用在启动期间 将mysqld服务器置于一个封闭的环境中 chroot()
。这是推荐的安全措施。这个选项的使用有些限制 LOAD DATA INFILE
和 SELECT ... INTO OUTFILE
。
--collation-server=
collation_name
属性 | 值 |
---|---|
命令行格式 | --collation-server |
系统变量 | collation_server |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 串 |
默认(> = 8.0.1) | utf8mb4_0900_ai_ci |
默认(8.0.0) | latin1_swedish_ci |
使用collation_name
作为默认的服务器排序规则。
--console
属性 | 值 |
---|---|
命令行格式 | --console |
平台特定 | 视窗 |
(仅限Windows。)导致默认错误日志目标为控制台。这会影响将其自己的输出目标基于默认目标的日志编写器。如果使用此选项,mysqld不会关闭控制台窗口。
--console
--log-error
如果两者都给出,则优先 。
--core-file
属性 | 值 |
---|---|
命令行格式 | --core-file |
类型 | 布尔 |
默认 | OFF |
如果mysqld死了,写一个核心文件。核心文件的名称和位置取决于系统。在Linux上,一个名为核心的文件 被写入进程的当前工作目录,对于mysqld而言是数据目录。 代表服务器进程的进程ID。在OS X上,名为的核心文件 被写入目录。在Solaris上,使用coreadm命令指定写入核心文件的位置以及如何命名该文件。 core.
pid
pid
core.
pid
/cores
对于某些系统,要获取核心文件,还必须指定 mysqld_safe--core-file-size
选项 。在某些系统上,如Solaris,如果您也在使用该选项,则不会获得核心文件 。可能有其他限制或限制。例如, 在启动服务器之前可能需要执行ulimit -c unlimited。请咨询您的系统文档。 --user
--daemonize
, -D
属性 | 值 |
---|---|
命令行格式 | --daemonize[={OFF|ON}] |
类型 | 布尔 |
默认 | OFF |
此选项使服务器作为传统的分叉守护程序运行,允许它与使用systemd进行过程控制的操作系统一起使用。
如果服务器使用该--daemonize
选项启动 并且未连接到tty设备,--log-error=""
则在没有显式日志记录选项的情况下使用默认错误日志 记录选项来将错误输出指向缺省日志文件。
-D
是一个同义词 --daemonize
。
--datadir=
, dir_name
-h
dir_name
属性 | 值 |
---|---|
命令行格式 | --datadir=dir_name |
系统变量 | datadir |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 目录名称 |
MySQL服务器数据目录的路径。该选项设置datadir
系统变量。请参阅该变量的说明。
--debug[=
, debug_options
]-# [
debug_options
]
属性 | 值 |
---|---|
命令行格式 | --debug[=debug_options] |
系统变量 | debug |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型(Windows) | 串 |
类型(Unix) | 串 |
默认(Windows) | d:t:i:O,\mysqld.trace |
默认(Unix) | d:t:i:o,/tmp/mysqld.trace |
如果MySQL配置了 CMake选项,则可以使用此选项获取mysqld正在执行的跟踪文件。一个典型的字符串是 。默认是在Unix和Windows上。 -DWITH_DEBUG=1
debug_options
d:t:o,
file_name
d:t:i:o,/tmp/mysqld.trace
d:t:i:O,\mysqld.trace
使用-DWITH_DEBUG=1
通过调试支持来配置MySQL使您--debug="d,parser_debug"
可以在启动服务器时使用该 选项。这会导致用于处理SQL语句的Bison解析器将解析器跟踪转储到服务器的标准错误输出。通常,该输出写入错误日志。
该选项可能会多次提供。以先前的值开头+
或-
添加或从之前的值中减去的值。例如, 将值设置为 。 --debug=T
--debug=+P
P:T
有关更多信息,请参见第29.5.3节“DBUG包”。
--debug-sync-timeout[=
N
]
属性 | 值 |
---|---|
命令行格式 | --debug-sync-timeout[=#] |
类型 | 整数 |
控制是否启用了用于测试和调试的调试同步工具。使用Debug Sync要求使用CMake选项配置MySQL (请参见 第2.8.4节“MySQL源配置选项”)。如果调试同步未被编译,则此选项不可用。选项值是以秒为单位的超时值。默认值为0,禁用调试同步。要启用它,请指定一个大于0的值; 此值也会成为各个同步点的默认超时值。如果给出的选项没有值,则超时设置为300秒。 -DENABLE_DEBUG_SYNC=1
有关调试同步工具以及如何使用同步点的说明,请参阅 MySQL内部:测试同步。
--default-storage-engine=
type
属性 | 值 |
---|---|
命令行格式 | --default-storage-engine=name |
系统变量 | default_storage_engine |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 列举 |
默认 | InnoDB |
设置表格的默认存储引擎。请参阅 第16章,备用存储引擎。该选项仅设置永久表的存储引擎。要设置TEMPORARY
表格的存储引擎,请设置 default_tmp_storage_engine
系统变量。
如果在服务器启动时禁用默认存储引擎,则必须将永久和TEMPORARY
表的默认引擎设置为 不同的引擎,否则服务器将无法启动。
--default-time-zone=
timezone
属性 | 值 |
---|---|
命令行格式 | --default-time-zone=name |
类型 | 串 |
设置默认服务器时区。该选项设置全局 time_zone
系统变量。如果未给出此选项,则默认时区与系统时区相同(由system_time_zone
系统变量的值给出) 。
--defaults-extra-file=
file_name
在全局选项文件之后读取此选项文件,但在用户选项文件之前(在Unix上)。如果文件不存在或无法访问,则会发生错误。 file_name
如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。如果使用它,它必须是命令行中的第一个选项。
有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
--defaults-file=
file_name
只读取给定的选项文件。如果文件不存在或无法访问,则会发生错误。 file_name
如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。
例外:即使有 --defaults-file
, mysqld的读取 mysqld-auto.cnf
。
这必须是在命令行中的第一个选项,如果它被使用,只是如果服务器开始使用 --defaults-file
和 --install
(或 --install-manual
)选项, --install
(或 --install-manual
)必须是第一个。
有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
--defaults-group-suffix=
str
不仅要阅读常用选项组,还要阅读具有常用名称和后缀的组 str
。例如, mysqld通常读取该 [mysqld]
组。如果--defaults-group-suffix=_other
给出该 选项,mysqld也会读取该 [mysqld_other]
组。
有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
--delay-key-write[={OFF|ON|ALL}]
属性 | 值 |
---|---|
命令行格式 | --delay-key-write[=name] |
系统变量 | delay_key_write |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 列举 |
默认 | ON |
有效值 |
|
指定如何使用延迟键写入。延迟键写入会导致键缓冲区在MyISAM
表写入之间不会被刷新 。OFF
禁用延迟键写入。ON
为使用该DELAY_KEY_WRITE
选项创建的表启用延迟键写入 。ALL
延迟所有MyISAM
表的关键写入 。请参见 第5.1.1节“配置服务器”和 第16.2.1节“MyISAM启动选项”。
如果将此变量设置为ALL
,则在使用MyISAM
表时,不应使用其他程序内的表(例如另一个MySQL服务器或 myisamchk)。这样做会导致索引损坏。
--des-key-file=
file_name
属性 | 值 |
---|---|
命令行格式 | --des-key-file=file_name |
弃用 | 是的(在8.0.3中删除) |
这个选项在MySQL 8.0.3中被删除。
--early-plugin-load=
plugin_list
属性 | 值 |
---|---|
命令行格式 | --early-plugin-load=plugin_list |
类型 | 串 |
默认 | empty string |
该选项告诉服务器在加载强制内置插件之前和存储引擎初始化之前加载哪些插件。如果--early-plugin-load
给出多个 选项,则只使用最后一个。
选项值是以分号分隔的列表 和值。每个 都是要加载的插件的名称,并且是包含插件代码的库文件的名称。如果插件库的名称没有任何前面的插件名称,则服务器会加载库中的所有插件。服务器在由系统变量命名的目录中查找插件库文件 。 name
=
plugin_library
plugin_library
name
plugin_library
plugin_dir
例如,如果插件命名myplug1
并 myplug2
有库文件, myplug1.so
并 myplug2.so
使用此选项来执行早期插件加载:
shell> mysqld --early-plugin-load="myplug1=myplug1.so;myplug2=myplug2.so"
引号用于参数值,否则分号(;
)会被某些命令解释器解释为特殊字符。(例如,Unix shell将它视为命令终止符。)
每个指定的插件都会提前加载,只能调用一次 mysqld。重新启动后,插件不会提前加载,除非 --early-plugin-load
再次使用。
如果服务器开始使用 --initialize
或 --initialize-insecure
,则指定的插件 --early-plugin-load
未加载。
如果服务器运行 --help
,则由指定的插件 --early-plugin-load
加载但未初始化。此行为可确保插件选项显示在帮助消息中。
默认--early-plugin-load
值为空。要加载keyring_file
插件,必须使用--early-plugin-load
带有非空值的显式 选项。
该InnoDB
表空间加密功能依赖于keyring_file
插件加密密钥管理和 keyring_file
插件之前必须存储引擎初始化加载,以便 InnoDB
为加密表恢复。希望keyring_file
在启动时加载插件的管理员应使用适当的非空选项值; 例如,keyring_file.so
在Unix和类Unix系统上以及 keyring_file.dll
在Windows上。
有关InnoDB
表空间加密的信息,请参见 第15.7.11节“InnoDB表空间加密”。有关插件加载的一般信息,请参见 第5.6.1节“安装和卸载插件”。
--enable-named-pipe
属性 | 值 |
---|---|
命令行格式 | --enable-named-pipe |
平台特定 | 视窗 |
启用对命名管道的支持。该选项仅适用于Windows。
--event-scheduler[=
value
]
属性 | 值 |
---|---|
命令行格式 | --event-scheduler[=value] |
系统变量 | event_scheduler |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 列举 |
默认(> = 8.0.3) | ON |
默认(<= 8.0.2) | OFF |
有效值 |
|
启用或禁用,并启动或停止事件调度程序。
有关详细信息,请参阅 该 --event-scheduler
选项。
--exit-info[=
, flags
]-T [
flags
]
属性 | 值 |
---|---|
命令行格式 | --exit-info[=flags] |
类型 | 整数 |
这是一个可以用来调试mysqld服务器的不同标志的位掩码。除非你确切地知道它做了什么,否则不要使用这个选项!
--external-locking
属性 | 值 |
---|---|
命令行格式 | --external-locking |
类型 | 布尔 |
默认 | FALSE |
启用外部锁定(系统锁定),默认情况下禁用。如果你在一个lockd
没有完全工作的系统上(例如Linux)使用这个选项 ,mysqld很容易死锁。
要显式禁用外部锁定,请使用 --skip-external-locking
。
外部锁仅影响 MyISAM
表访问。有关更多信息,包括可以使用和不可使用的条件,请参见第8.11.5节“外部锁定”。
--flush
属性 | 值 |
---|---|
命令行格式 | --flush |
系统变量 | flush |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | OFF |
在每个SQL语句之后刷新(同步)对磁盘的所有更改。通常情况下,只有在每个SQL语句之后,MySQL才会写入对磁盘的所有更改,并让操作系统处理与磁盘的同步。参见 第B.5.3.3节“如果MySQL保持崩溃怎么办”。
如果--flush
指定,则值flush_time
无关紧要,并且更改为 flush_time
对刷新行为没有影响。
--gdb
属性 | 值 |
---|---|
命令行格式 | --gdb |
类型 | 布尔 |
默认 | FALSE |
安装中断处理程序SIGINT
(停止所需的mysqld与 ^C
设置断点),并且禁止堆栈跟踪和核心文件处理。请参见第29.5节“调试和移植MySQL”。
从MySQL 8.0.11开始,此选项对抑制用于实现RESTART
语句的分叉的Windows具有额外的作用:分叉使一个进程能够充当另一个进程的监视器,而另一个作为服务器。然而,分叉使得确定服务器进程以附加调试更加困难,所以启动服务器时--gdb
抑制分叉。副作用是对于以此选项启动的服务器,RESTART
只需退出并不重新启动。
--general-log[={0|1}]
属性 | 值 |
---|---|
命令行格式 | --general-log |
系统变量 | general_log |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | OFF |
指定初始的一般查询日志状态。如果没有参数或参数为1,则该 --general-log
选项将启用日志。如果省略或用0的参数给出,则该选项将禁用日志。
--initialize
, -I
属性 | 值 |
---|---|
命令行格式 | --initialize |
类型 | 布尔 |
默认 | OFF |
此选项用于通过创建数据目录并填充mysql
系统数据库中的表来初始化MySQL安装 。有关更多信息,请参见 第2.9.1.1节“使用mysqld手动初始化数据目录”。
当服务器启动时 --initialize
,某些功能不可用,从而限制了该--init-file
选项指定的任何文件中允许的语句 。有关更多信息,请参阅该选项的说明。另外,disabled_storage_engines
系统变量不起作用。
--initialize
与...互斥--daemonize
。
-I
是一个同义词 --initialize
。
--initialize-insecure
属性 | 值 |
---|---|
命令行格式 | --initialize-insecure |
类型 | 布尔 |
默认 | OFF |
该选项用于通过创建数据目录并填充mysql
系统数据库中的表来初始化MySQL安装 。这个选项意味着 --initialize
。有关更多信息,请参阅该选项的说明以及 第2.9.1.1节“使用mysqld手动初始化数据目录”。
--initialize-insecure
与...互斥 --daemonize
。
--init-file=
file_name
属性 | 值 |
---|---|
命令行格式 | --init-file=file_name |
系统变量 | init_file |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 文件名 |
在启动时从这个文件读取SQL语句。每条声明必须在一行中,不应包含注释。
如果服务器使用--initialize
or --initialize-insecure
选项启动 ,它将以bootstap模式运行,并且某些功能不可用,从而限制文件中允许的语句。这些包括与帐户管理(例如CREATE USER
或 GRANT
),复制和全局事务标识符相关的语句。请参见 第18.1.3节“使用全局事务标识符进行复制”。
--innodb-
xxx
为InnoDB
存储引擎设置一个选项。这些InnoDB
选项在第15.13节“InnoDB启动选项和系统变量”中列出 。
--install [
service_name
]
属性 | 值 |
---|---|
命令行格式 | --install [service_name] |
平台特定 | 视窗 |
(仅限Windows)将服务器安装为在Windows启动期间自动启动的Windows服务。默认的服务名称是MySQL
如果没有 service_name
给出值。有关更多信息,请参见第2.3.5.8节“将MySQL作为Windows服务启动”。
如果服务器使用--defaults-file
和 --install
选项 启动,则 --install
必须先启动。
--install-manual [
service_name
]
属性 | 值 |
---|---|
命令行格式 | --install-manual [service_name] |
平台特定 | 视窗 |
(仅限Windows)将服务器安装为必须手动启动的Windows服务。它不会在Windows启动过程中自动启动。默认的服务名称是 MySQL
如果没有 service_name
给出值。有关更多信息,请参见第2.3.5.8节“将MySQL作为Windows服务启动”。
如果服务器使用--defaults-file
和 --install-manual
选项 启动,则 --install-manual
必须先启动。
--language=
lang_name
, -L lang_name
属性 | 值 |
---|---|
命令行格式 | --language=name |
弃用 | 是; 使用lc-messages-dir |
系统变量 | language |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 目录名称 |
默认 | /usr/local/mysql/share/mysql/english/ |
用于错误消息的语言。 lang_name
可以作为语言名称或作为安装语言文件的目录的完整路径名给出。请参见 第10.11节“设置错误消息语言”。
--lc-messages-dir
并且 --lc-messages
应该被使用,而不是--language
被弃用(并且作为别名被处理 --lc-messages-dir
)。该 --language
选项将在未来的MySQL版本中被删除。
--large-pages
属性 | 值 |
---|---|
命令行格式 | --large-pages |
系统变量 | large_pages |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
平台特定 | Linux的 |
类型(Linux) | 布尔 |
默认(Linux) | FALSE |
某些硬件/操作系统体系结构支持的内存页面大于默认值(通常为4KB)。这种支持的实际实施取决于底层硬件和操作系统。执行大量内存访问的应用程序可能通过使用大页面来获得性能改进,这是因为减少了翻译旁视缓冲区(TLB)缺失。
MySQL支持大型页面支持的Linux实现(在Linux中称为HugeTLB)。请参见 第8.12.3.2节“启用大页面支持”。有关Solaris支持大页面的信息,请参阅该--super-large-pages
选项的说明 。
--large-pages
在默认情况下被禁用。
--lc-messages=
locale_name
属性 | 值 |
---|---|
命令行格式 | --lc-messages=name |
系统变量 | lc_messages |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 串 |
默认 | en_US |
用于错误消息的语言环境。默认是 en_US
。服务器将参数转换为语言名称并将其与值组合 --lc-messages-dir
以生成错误消息文件的位置。请参见 第10.11节“设置错误消息语言”。
--lc-messages-dir=
dir_name
属性 | 值 |
---|---|
命令行格式 | --lc-messages-dir=dir_name |
系统变量 | lc_messages_dir |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 目录名称 |
错误消息所在的目录。服务器使用该值和值 --lc-messages
来生成错误消息文件的位置。请参见 第10.11节“设置错误消息语言”。
--local-service
属性 | 值 |
---|---|
命令行格式 | --local-service |
(仅限Windows)--local-service
服务名称后面的选项会导致服务器使用LocalService
具有有限系统特权的Windows帐户运行 。如果两个 --defaults-file
和 --local-service
给出以下服务名称,他们可以在任何顺序。请参见 第2.3.5.8节“将MySQL作为Windows服务启动”。
--log-error[=
file_name
]
属性 | 值 |
---|---|
命令行格式 | --log-error[=file_name] |
系统变量 | log_error |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 文件名 |
将默认错误日志目标设置为指定文件。这会影响将其自己的输出目标基于默认目标的日志编写器。请参见第5.4.2节“错误日志”。
如果该选项不命名文件,则Unix和类Unix系统上的默认错误日志目标是
在数据目录中命名的文件 。除非host_name
.err--pid-file
指定了选项,否则Windows上的默认目标是相同的。在这种情况下,文件名是PID文件基本名称,后缀为.err
数据目录中的后缀。
如果该选项命名文件,则默认目标是.err
位于数据目录下的该文件(如果名称没有后缀,则添加后缀),除非给出绝对路径名指定其他位置。
如果错误日志输出无法重定向到错误日志文件,则会发生错误并且启动失败。
在Windows中,如果两者都给出,--console
则优先--log-error
。在这种情况下,默认错误日志目标是控制台而不是文件。
--log-isam[=
file_name
]
属性 | 值 |
---|---|
命令行格式 | --log-isam[=file_name] |
类型 | 文件名 |
记录MyISAM
对此文件的所有更改(仅在调试时使用MyISAM
)。
--log-output=
value
,...
属性 | 值 |
---|---|
命令行格式 | --log-output=name |
系统变量 | log_output |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 组 |
默认 | FILE |
有效值 |
|
该选项确定一般查询日志和慢速查询日志输出的目的地。选项值可作为一个或一个以上的话TABLE
, FILE
或NONE
。 TABLE
选择将日志记录 general_log
和 数据库中的slow_log
表 mysql
作为目标。 FILE
选择日志记录以将文件记录为目标。NONE
禁用日志记录。如果 NONE
出现在选项值中,则优先于任何其他存在的单词。 TABLE
并且FILE
可以同时选择两个日志输出目标。
该选项选择日志输出目标,但不启用日志输出。要做到这一点,请使用 --general_log
和 --slow_query_log
选项。对于 FILE
日志记录, --general_log_file
和 -slow_query_log_file
选项确定日志文件的位置。有关更多信息,请参见 第5.4.1节“选择常规查询和慢速查询日志输出目标”。
--log-queries-not-using-indexes
属性 | 值 |
---|---|
命令行格式 | --log-queries-not-using-indexes |
系统变量 | log_queries_not_using_indexes |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | OFF |
如果在启用了慢速查询日志的情况下使用此选项,则会记录预期检索所有行的查询。请参见 第5.4.5节“慢速查询日志”。该选项不一定表示不使用索引。例如,使用完整索引扫描的查询使用索引,但会被记录,因为索引不会限制行数。
--log-raw
属性 | 值 |
---|---|
命令行格式 | --log-raw[=value] |
类型 | 布尔 |
默认 | OFF |
在写入一般查询日志,慢速查询日志和二进制日志的某些语句中,密码被服务器重写为不会以纯文本形式出现。通过使用该--log-raw
选项启动服务器,可以为通用查询日志禁用密码重写 。此选项对于诊断目的可能很有用,可以查看服务器收到的语句的确切文本,但出于安全原因不建议用于生产用途。
如果安装了查询重写插件,则该 --log-raw
选项会影响语句记录,如下所示:
如果没有--log-raw
,服务器将记录查询重写插件返回的语句。这可能与收到的声明有所不同。
使用时--log-raw
,服务器将收到的原始语句记录下来。
有关更多信息,请参见第6.1.2.3节“密码和日志记录”。
--log-short-format
属性 | 值 |
---|---|
命令行格式 | --log-short-format |
类型 | 布尔 |
默认 | FALSE |
将较少的信息记录到慢查询日志中(如果它已被激活)。
--log-tc=
file_name
属性 | 值 |
---|---|
命令行格式 | --log-tc=file_name |
类型 | 文件名 |
默认 | tc.log |
内存映射事务协调器日志文件的名称(对于禁用二进制日志时影响多个存储引擎的XA事务)。默认名称是 tc.log
。如果未以完整路径名称的形式给出该文件,则该文件将在数据目录下创建。此选项未使用。
--log-tc-size=
size
属性 | 值 |
---|---|
命令行格式 | --log-tc-size=# |
类型(64位平台) | 整数 |
类型(32位平台) | 整数 |
默认(64位平台) | 6 * page size |
默认(32位平台) | 6 * page size |
最低(64位平台) | 6 * page size |
最低(32位平台) | 6 * page size |
最大(64位平台) | 18446744073709551615 |
最大(32位平台) | 4294967295 |
内存映射事务协调器日志的大小(以字节为单位)。默认值和最小值是页面大小的6倍,并且该值必须是页面大小的倍数。
--log-warnings[=
, level
]-W [
level
]
属性 | 值 |
---|---|
命令行格式 | --log-warnings[=#] |
弃用 | 是的(在8.0.3中删除) |
系统变量 | log_warnings |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型(64位平台) | 整数 |
类型(32位平台) | 整数 |
默认(64位平台) | 2 |
默认(32位平台) | 2 |
最低(64位平台) | 0 |
最低(32位平台) | 0 |
最大(64位平台) | 18446744073709551615 |
最大(32位平台) | 4294967295 |
这个选项在MySQL 8.0.3中被删除。改用 log_error_verbosity
系统变量。
--low-priority-updates
属性 | 值 |
---|---|
命令行格式 | --low-priority-updates |
系统变量 | low_priority_updates |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | FALSE |
得到表修改操作(INSERT
, REPLACE
, DELETE
, UPDATE
),比选择较低优先级。这也可以{INSERT | REPLACE | DELETE | UPDATE} LOW_PRIORITY ...
用来降低只有一个查询的优先级,或者通过SET LOW_PRIORITY_UPDATES=1
改变一个线程的优先级来完成。这会影响只使用表级锁(仅存储引擎MyISAM
, MEMORY
,MERGE
)。北大青鸟学校
--min-examined-row-limit=
number
属性 | 值 |
---|---|
命令行格式 | --min-examined-row-limit=# |
系统变量 | min_examined_row_limit |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型(64位平台) | 整数 |
类型(32位平台) | 整数 |
默认(64位平台) | 0 |
默认(32位平台) | 0 |
最低(64位平台) | 0 |
最低(32位平台) | 0 |
最大(64位平台) | 18446744073709551615 |
最大(32位平台) | 4294967295 |
设置此选项时,检查少于 number
行的查询不写入慢速查询日志。默认值是0。
--memlock
属性 | 值 |
---|---|
命令行格式 | --memlock |
类型 | 布尔 |
默认 | FALSE |
将mysqld进程锁定在内存中。如果您在操作系统导致mysqld交换到磁盘时遇到问题,此选项可能会有所帮助。
--memlock
适用于支持mlockall()
系统调用的系统; 这包括Solaris,大多数使用2.4或更高版本内核的Linux发行版以及其他Unix系统。在Linux系统上,您可以 mlockall()
通过检查系统mman.h
文件中是否定义它来判断是否支持(以及此选项),如下所示:
shell> grep mlockall /usr/include/sys/mman.h
如果mlockall()
被支持,你应该在前面的命令的输出中看到如下内容:
extern int mlockall (int __flags) __THROW;
使用此选项可能需要您运行服务器 root
,因为出于安全原因,通常不是一个好主意。请参见 第6.1.5节“如何以普通用户身份运行MySQL”。
在Linux和其他系统上,您可以避免root
通过更改 limits.conf
文件来运行服务器。请参阅第8.12.3.2节“启用大页面支持”中关于memlock限制的说明 。
您不能尝试在不支持mlockall()
系统调用的系统上使用此选项; 如果你这样做的话,一旦你尝试启动它,mysqld很可能会崩溃。
--myisam-block-size=
N
属性 | 值 |
---|---|
命令行格式 | --myisam-block-size=# |
类型 | 整数 |
默认 | 1024 |
最低限度 | 1024 |
最大 | 16384 |
要用于MyISAM
索引页面的块大小。
--myisam-recover-options[=
option
[,option
]...]]
属性 | 值 |
---|---|
命令行格式 | --myisam-recover-options[=name] |
类型 | 列举 |
默认 | OFF |
有效值 |
|
设置MyISAM
存储引擎恢复模式。该选项值的值的任意组合 OFF
,DEFAULT
, BACKUP
,FORCE
,或 QUICK
。如果您指定多个值,请用逗号分隔它们。指定没有参数的选项与指定相同DEFAULT
,并指定""
禁用恢复的显式值(与值相同OFF
)。如果恢复已启用,则每次mysqld 打开一个MyISAM
表,它检查表是否标记为崩溃或未正确关闭。(最后一个选项仅在禁用外部锁定的情况下运行。)如果是这种情况, mysqld在表上运行检查。如果表被破坏,mysqld会尝试修复它。
以下选项会影响修复的工作方式。
选项 | 描述 |
---|---|
OFF |
没有恢复。 |
DEFAULT |
没有备份的恢复,强制或快速检查。 |
BACKUP |
如果数据文件在恢复期间发生更改,请将该 文件的备份保存 为 。 |
FORCE |
即使我们会丢失.MYD 文件中的多行,也要运行恢复 。 |
QUICK |
如果没有任何删除块,请不要检查表中的行。 |
在服务器自动修复表之前,它会将关于修复的注释写入错误日志。如果您希望能够在没有用户干预的情况下从大多数问题中恢复,则应该使用这些选项BACKUP,FORCE
。这会强制修复表,即使某些行将被删除,但它会将旧数据文件保留为备份,以便您可以稍后检查发生了什么。
请参见第16.2.1节“MyISAM启动选项”。
--no-defaults
不要阅读任何选项文件。如果由于从选项文件读取未知选项而导致程序启动失败, --no-defaults
可用于防止读取它们。如果使用它,它必须是命令行中的第一个选项。
有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
--no-dd-upgrade
属性 | 值 |
---|---|
命令行格式 | --no-dd-upgrade |
介绍 | 8.0.4 |
类型 | 布尔 |
默认 | FALSE |
防止在启动MySQL服务器时自动升级数据字典表。在将MySQL服务器就地升级到新版本之后启动MySQL服务器时,通常会使用此选项,该版本可能包含数据字典表定义的更改。
当--no-dd-upgrade
指定时,并且服务器发现服务器的数据字典版本与数据字典中存储的版本不同时,启动将失败,并显示错误,指出禁止数据字典升级。
在正常启动期间,将服务器的数据字典版本与存储在数据字典中的版本进行比较,以确定是否应升级数据字典表定义。如果需要升级并支持升级,则服务器将创建具有更新定义的数据字典表,将持久元数据复制到新表中,用新元素原子级替换旧表,然后重新初始化数据字典。如果不需要升级,启动将继续而不更新数据字典表。
--old-alter-table
属性 | 值 |
---|---|
命令行格式 | --old-alter-table |
系统变量 | old_alter_table |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | OFF |
当给出该选项时,服务器不使用处理ALTER TABLE
操作的优化方法。它恢复为使用临时表,复制数据,然后将临时表重新命名为原始表,正如MySQL 5.0及更早版本所使用的那样。有关操作的更多信息 ALTER TABLE
,请参见 第13.1.8节“ALTER TABLE语法”。
--old-style-user-limits
属性 | 值 |
---|---|
命令行格式 | --old-style-user-limits |
类型 | 布尔 |
默认 | FALSE |
启用旧式用户限制。(在MySQL 5.0.3之前,账户资源限制是针对每个用户连接的主机而不是user
表中的每个账户行分别计算的 。)请参见 第6.3.6节“设置账户资源限制”。
--open-files-limit=
count
属性 | 值 |
---|---|
命令行格式 | --open-files-limit=# |
系统变量 | open_files_limit |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 整数 |
默认 | 5000, with possible adjustment |
最低限度 | 0 |
最大 | platform dependent |
更改可用于mysqld的文件描述符的数量 。如果mysqld给你错误,你应该尝试增加这个选项的值Too many open files
。 mysqld使用选项值来保留描述符setrlimit()
。在内部,该选项的最大值是最大无符号整数值,但实际最大值是平台相关的。如果所请求的文件描述符数量不能分配,mysqld会向错误日志写入警告。
mysqld的可能试图比描述符的请求数量的分配更多的(如果它们可用),使用的值 max_connections
和 table_open_cache
估计是否将需要更多的描述符。
在Unix上,该值不能大于ulimit -n。
--performance-schema-xxx
配置性能架构选项。有关详细信息,请参见 第26.13节“性能架构命令选项”。
--pid-file=
file_name
属性 | 值 |
---|---|
命令行格式 | --pid-file=file_name |
系统变量 | pid_file |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 文件名 |
进程ID文件的路径名称。服务器在数据目录中创建文件,除非给出绝对路径名来指定不同的目录。如果您指定此选项,则必须指定一个值。如果您不指定此选项,则MySQL使用默认值
,其中host_name
.pidhost_name
是主机名称。
其他程序(如mysqld_safe)使用进程ID文件 来确定服务器的进程ID。在Windows上,该变量也会影响默认的错误日志文件名称。请参见第5.4.2节“错误日志”。
--plugin-
xxx
指定与服务器插件有关的选项。例如,许多存储引擎可以构建为插件,并且对于这样的引擎,它们的选项可以用--plugin
前缀来指定 。因此, --innodb_file_per_table
选项InnoDB
可以被指定为 --plugin-innodb_file_per_table
。
对于可以启用或禁用的布尔选项,也支持 --skip
前缀和其他格式(请参见 第4.2.5节“程序选项修饰符”)。例如, --skip-plugin-innodb_file_per_table
禁用innodb_file_per_table
。
--plugin
前缀 的基本原理是,如果与内置服务器选项存在名称冲突,则可以明确指定插件选项。例如,插件编写者为插件“ sql ”命名 并实现“ 模式 ”选项,选项名称可能 --sql-mode
会与相同名称的内置选项冲突。在这种情况下,对冲突名称的引用将被解析为有利于内置选项。为避免含糊不清,用户可以将插件选项指定为 --plugin-sql-mode
。使用 --plugin
推荐使用插件选项的前缀以避免任何含糊不清的问题。
--plugin-load=
plugin_list
属性 | 值 |
---|---|
命令行格式 | --plugin-load=plugin_list |
类型 | 串 |
该选项告诉服务器在启动时加载指定的插件。如果--plugin-load
给出多个 选项,则只使用最后一个。可以使用--plugin-load-add
选项指定要加载的其他插件 。
选项值是以分号分隔的列表 和值。每个 都是要加载的插件的名称,并且是包含插件代码的库文件的名称。如果插件库的名称没有任何前面的插件名称,则服务器会加载库中的所有插件。服务器在由系统变量命名的目录中查找插件库文件 。 name
=
plugin_library
plugin_library
name
plugin_library
plugin_dir
例如,如果插件命名myplug1
并 myplug2
有库文件, myplug1.so
并 myplug2.so
使用此选项来执行早期插件加载:
shell> mysqld --plugin-load="myplug1=myplug1.so;myplug2=myplug2.so"
引号在这里用于参数值,因为否则semicolon(;
)被某些命令解释器解释为特殊字符。(例如,Unix shell将它视为命令终止符。)
每个已命名的插件仅用于单个mysqld调用 。重新启动后,插件不会被加载,除非--plugin-load
再次使用。这与之相反 INSTALL PLUGIN
,它在mysql.plugins
表中添加一个条目,以便为每个普通服务器启动加载插件。
在正常启动时,服务器通过读取mysql.plugins
系统表来确定要加载的插件。如果服务器使用该--skip-grant-tables
选项启动 ,它不会查询mysql.plugins
表格,也不会加载列表中的插件。 --plugin-load
即使--skip-grant-tables
给出插件也可以加载 。 --plugin-load
还可以使插件在启动时加载,而不能在运行时加载。
有关插件加载的更多信息,请参见 第5.6.1节“安装和卸载插件”。
--plugin-load-add=
plugin_list
属性 | 值 |
---|---|
命令行格式 | --plugin-load-add=plugin_list |
类型 | 串 |
该选项补充了该 --plugin-load
选项。 --plugin-load-add
将一个插件或插件添加到启动时要加载的一组插件中。参数格式与for相同 --plugin-load
。 --plugin-load-add
可以用来避免指定一大组插件作为一个冗长笨拙的--plugin-load
参数。
--plugin-load-add
可以在没有的情况下给出 --plugin-load
,但是--plugin-load-add
之前出现的任何情况--plugin-load
。没有效果,因为 --plugin-load
重置要加载的插件集。换句话说,这些选项:
--plugin-load=x --plugin-load-add=y
相当于这个选项:
--plugin-load="x;y"
但是这些选项:
--plugin-load-add=y --plugin-load=x
相当于这个选项:
--plugin-load=x
有关插件加载的更多信息,请参见 第5.6.1节“安装和卸载插件”。
--port=
, port_num
-P
port_num
属性 | 值 |
---|---|
命令行格式 | --port=# |
系统变量 | port |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 整数 |
默认 | 3306 |
最低限度 | 0 |
最大 | 65535 |
侦听TCP / IP连接时使用的端口号。在Unix和类Unix系统上,除非服务器由root
系统用户启动,否则端口号必须为1024或更高 。
--port-open-timeout=
num
属性 | 值 |
---|---|
命令行格式 | --port-open-timeout=# |
类型 | 整数 |
默认 | 0 |
在某些系统上,当服务器停止时,TCP / IP端口可能不会立即变为可用。如果之后服务器很快重新启动,则尝试重新打开端口可能会失败。此选项指示服务器在无法打开时等待TCP / IP端口变为空闲的秒数。默认不等待。
--print-defaults
打印程序名称以及从选项文件中获取的所有选项。密码值被屏蔽。这必须是在命令行上的第一个选项,如果使用它,除了它可能立即后使用 --defaults-file
或 --defaults-extra-file
。
有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
--remove [
service_name
]
属性 | 值 |
---|---|
命令行格式 | --remove [service_name] |
平台特定 | 视窗 |
(仅限Windows)删除MySQL Windows服务。默认的服务名称是MySQL
如果没有 service_name
给出值。有关更多信息,请参见第2.3.5.8节“将MySQL作为Windows服务启动”。
--safe-user-create
属性 | 值 |
---|---|
命令行格式 | --safe-user-create |
类型 | 布尔 |
默认 | FALSE |
如果启用此选项,则用户不能通过使用该GRANT
语句来创建新的MySQL用户,除非该用户具有INSERT
该mysql.user
表或表中任何列的 特权 。如果您希望用户有能力创建具有用户有权授予的权限的新用户,则应授予该用户以下特权:
GRANT INSERT(user) ON mysql.user TO 'user_name'@'host_name';
这确保用户不能直接更改任何权限列,但必须使用该 GRANT
语句向其他用户授予权限。
--secure-auth
属性 | 值 |
---|---|
命令行格式 | --secure-auth |
弃用 | 是的(在8.0.3中删除) |
系统变量 | secure_auth |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | ON |
有效值 | ON |
这个选项在MySQL 8.0.3中被删除。
--secure-file-priv=
dir_name
属性 | 值 |
---|---|
命令行格式 | --secure-file-priv=dir_name |
系统变量 | secure_file_priv |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型 | 串 |
默认 | platform specific |
有效值 |
|
该选项设置 secure_file_priv
系统变量,该变量用于限制数据导入和导出操作的效果,例如由LOAD DATA
and和 SELECT ... INTO OUTFILE
语句和 LOAD_FILE()
函数执行的操作 。有关更多信息,请参阅说明 secure_file_priv
。
--shared-memory
属性 | 值 |
---|---|
命令行格式 | --shared-memory[={0,1}] |
系统变量 | shared_memory |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
平台特定 | 视窗 |
类型 | 布尔 |
默认 | FALSE |
由本地客户端启用共享内存连接。该选项仅在Windows上可用。
--shared-memory-base-name=
name
属性 | 值 |
---|---|
命令行格式 | --shared-memory-base-name=name |
系统变量 | shared_memory_base_name |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
平台特定 | 视窗 |
类型 | 串 |
默认 | MYSQL |
用于共享内存连接的共享内存的名称。该选项仅在Windows上可用。默认名称是MYSQL
。名称区分大小写。
--skip-concurrent-insert
关闭在MyISAM
表格上同时选择和插入的功能 。(只有在您认为您在此功能中发现错误时才会使用该功能。)请参见 第8.11.3节“并发插入”。
--skip-event-scheduler
属性 | 值 |
---|---|
命令行格式 |
|
打开事件调度程序OFF
。这与禁用需要设置的Event Scheduler不同 --event-scheduler=DISABLED
; 看到 该 --event-scheduler
选项,以获取更多信息。
--skip-grant-tables
此选项使服务器根本无需使用权限系统即可启动,这使得访问服务器的任何人都可以不受限制地访问所有数据库。您可以通过在系统shell中执行mysqladmin flush-privileges或mysqladmin reload命令,或者FLUSH PRIVILEGES
在连接到服务器后发出MySQL 语句,使运行中的服务器再次开始使用授权表。
如果服务器启动时 --skip-grant-tables
禁用身份验证检查选项,服务器将--skip-networking
自动启用 以防止远程连接。
此选项还会导致服务器在其启动序列中禁止加载用户定义函数(UDF),预定事件和随INSTALL PLUGIN
语句安装的插件 。无论如何要导致插件被加载,请使用该 --plugin-load
选项。 --skip-grant-tables
也会导致disabled_storage_engines
系统变量无效。
此选项不会导致在服务器启动过程中加载服务器组件。
FLUSH PRIVILEGES
可能会由启动后执行的其他操作隐式执行。例如,mysql_upgrade在升级过程中刷新权限。
--skip-host-cache
禁用内部主机缓存以加快名称到IP解析的速度。在这种情况下,每次客户端连接时,服务器都会执行DNS查找。请参见 第8.12.4.2节“DNS查找优化和主机高速缓存”。
使用--skip-host-cache
类似于将host_cache_size
系统变量设置 为0,但 host_cache_size
更灵活,因为它也可用于在运行时调整,启用或禁用主机缓存,而不仅仅是在服务器启动时。
如果启动服务器时 --skip-host-cache
,不会阻止对其值进行 host_cache_size
更改,但此类更改不起作用,即使host_cache_size
设置为大于0 ,缓存也不会重新启用 。
--skip-innodb
禁用InnoDB
存储引擎。在这种情况下,因为默认存储引擎是 InnoDB
,服务器将不会启动,除非您还使用 --default-storage-engine
并将 --default-tmp-storage-engine
默认值设置为其他引擎的永久和 TEMPORARY
表。
该InnoDB
存储引擎不能被禁用,而 --skip-innodb
选项已被弃用,没有任何效果。它的使用导致警告。该选项将在未来的MySQL版本中删除。
--skip-name-resolve
检查客户端连接时不要解析主机名。只使用IP地址。如果使用此选项,Host
授予表中的所有列值都 必须是IP地址。请参见第8.12.4.2节“DNS查找优化和主机高速缓存”。
根据系统的网络配置和 Host
帐户值,客户端可能需要使用显式--host
选项(如--host=127.0.0.1
或) 进行连接--host=::1
。
尝试连接到主机127.0.0.1
通常会解析为该localhost
帐户。但是,如果服务器使用该--skip-name-resolve
选项运行,则会失败 ,因此请确保存在可以接受连接的帐户。例如,要能够root
使用--host=127.0.0.1
或 --host=::1
创建这些帐户,请执行以下操作:
CREATE USER 'root'@'127.0.0.1' IDENTIFIED BY 'root-password';
CREATE USER 'root'@'::1' IDENTIFIED BY 'root-password';
--skip-networking
根本不要听TCP / IP连接。所有与mysqld的交互都必须使用命名管道或共享内存(在Windows上)或Unix套接字文件(在Unix上)进行。强烈建议仅允许本地客户端的系统使用此选项。请参见第8.12.4.2节“DNS查找优化和主机高速缓存”。
如果服务器启动时 --skip-grant-tables
选择了禁用身份验证检查,则服务器可以 --skip-networking
阻止远程连接。
--ssl*
开头的选项--ssl
指定是否允许客户端使用SSL进行连接,并指明在哪里可以找到SSL密钥和证书。请参见 第6.4.2节“加密连接的命令选项”。
--standalone
属性 | 值 |
---|---|
命令行格式 | --standalone |
平台特定 | 视窗 |
仅在Windows上可用; 指示MySQL服务器不作为服务运行。
--super-large-pages
属性 | 值 |
---|---|
命令行格式 | --super-large-pages |
平台特定 | 的Solaris |
类型(Solaris) | 布尔 |
默认(Solaris) | FALSE |
标准使用MySQL中的大页面将尝试使用支持的最大大小,最大为4MB。在Solaris下, “ 超大页面 ”功能可以使用高达256MB的页面。此功能适用于最新的SPARC平台。可以使用--super-large-pages
或 --skip-super-large-pages
选项启用或禁用它 。
--symbolic-links
, --skip-symbolic-links
属性 | 值 |
---|---|
命令行格式 | --symbolic-links |
弃用 | 8.0.2 |
类型 | 布尔 |
默认(> = 8.0.2) | OFF |
默认(<= 8.0.1) | ON |
启用或禁用符号链接支持。在Unix上,启用符号链接意味着您可以使用语句或 选项 将MyISAM
索引文件或数据文件链接 到另一个目录。如果删除或重命名该表,其符号链接指向的文件也将被删除或重命名。请参见 第8.12.2.2节“在Unix上使用MyISAM表的符号链接”。 INDEX DIRECTORY
DATA DIRECTORY
CREATE TABLE
符号链接支持以及--symbolic-links
控制它的 选项已被弃用,并将在未来版本的MySQL中删除。另外,该选项默认是禁用的。相关的 have_symlink
系统变量也被弃用,并且将在未来版本的MySQL中被删除。
这个选项在Windows上没有意义。
--skip-show-database
属性 | 值 |
---|---|
命令行格式 | --skip-show-database |
系统变量 | skip_show_database |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
该选项设置skip_show_database
控制谁可以使用该SHOW DATABASES
语句的 系统变量 。请参见 第5.1.5节“服务器系统变量”。
--skip-stack-trace
属性 | 值 |
---|---|
命令行格式 | --skip-stack-trace |
不要写入堆栈跟踪。当您在调试器下运行mysqld时,此选项很有用。在某些系统上,您还必须使用此选项来获取核心文件。请参见 第29.5节“调试和移植MySQL”。
--slow-query-log[={0|1}]
属性 | 值 |
---|---|
命令行格式 | --slow-query-log |
系统变量 | slow_query_log |
范围 | 全球 |
动态 | 是 |
SET_VAR提示应用 | 没有 |
类型 | 布尔 |
默认 | OFF |
指定最初的慢查询日志状态。如果没有参数或参数为1,则该 --slow-query-log
选项将启用日志。如果省略或用0的参数给出,则该选项将禁用日志。
--slow-start-timeout=
timeout
属性 | 值 |
---|---|
命令行格式 | --slow-start-timeout=# |
类型(Windows) | 整数 |
默认(Windows) | 15000 |
该选项控制Windows服务控制管理器的服务启动超时。该值是在启动期间尝试终止Windows服务之前服务控制管理器等待的最大毫秒数。默认值是15000(15秒)。如果MySQL服务启动时间过长,则可能需要增加此值。值为0意味着没有超时。
--socket=
path
属性 | 值 |
---|---|
命令行格式 | --socket={file_name|pipe_name} |
系统变量 | socket |
范围 | 全球 |
动态 | 没有 |
SET_VAR提示应用 | 没有 |
类型(其他) | 串 |
类型(Windows) | 串 |
默认(其他) | /tmp/mysql.sock |
默认(Windows) | MySQL |
在Unix上,该选项指定侦听本地连接时使用的Unix套接字文件。默认值是 /tmp/mysql.sock
。如果给出该选项,服务器将在数据目录中创建文件,除非给出绝对路径名来指定不同的目录。在Windows上,该选项指定在侦听使用命名管道的本地连接时使用的管道名称。默认值是MySQL
(不区分大小写)。
--sql-mode=
value
[,value
[,value
...]]
属性 | 值 |
---|---|
命令行格式 | --sql-mode=name |
系统变量 | sql_mode |
范围 | 全球,会议 |
动态 | 是 |
SET_VAR提示应用 | 是 |
类型(> = 8.0.1) | 组 |
类型 | 组 |
默认(> = 8.0.1) | ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_AUTO_CREATE_USER NO_ENGINE_SUBSTITUTION |
默认 | ONLY_FULL_GROUP_BY STRICT_TRANS_TABLES NO_ZERO_IN_DATE NO_ZERO_DATE ERROR_FOR_DIVISION_BY_ZERO NO_AUTO_CREATE_USER NO_ENGINE_SUBSTITUTION |
有效值(> = 8.0.1) |
|
有效值 |
|