启动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)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
范围 全球,会议 动态 是 SET_VAR提示应用 没有 类型 布尔 默认 OFF
通过将所有临时集保存在文件中来启用大型结果集。此选项可防止大多数“ 表满 ” 错误,但也会减慢内存表可满足的查询速度。服务器能够使用小型临时表的内存自动处理大型结果集,并在必要时切换到磁盘表。
-
属性 值 命令行格式 --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
有效值 ROW
STATEMENT
MIXED
指定是使用基于行的,基于语句的还是混合的复制。基于语句是MySQL 8.0中的默认设置。
在某些情况下,在运行时更改此变量是不可能的,或导致复制失败。
设置二进制日志记录格式而不启用二进制日志记录会设置
binlog_format
全局系统变量并记录警告。-
属性 值 命令行格式 --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[=#]
类型 整数 控制是否启用了用于测试和调试的调试同步工具。使用Debug Sync要求使用CMake选项配置MySQL (请参见 第2.8.4节“MySQL源配置选项”)。如果调试同步未被编译,则此选项不可用。选项值是以秒为单位的超时值。默认值为0,禁用调试同步。要启用它,请指定一个大于0的值; 此值也会成为各个同步点的默认超时值。如果给出的选项没有值,则超时设置为300秒。
-DENABLE_DEBUG_SYNC=1
有关调试同步工具以及如何使用同步点的说明,请参阅 MySQL内部:测试同步。
-
属性 值 命令行格式 --default-storage-engine=name
系统变量 default_storage_engine
范围 全球,会议 动态 是 SET_VAR提示应用 没有 类型 列举 默认 InnoDB
设置表格的默认存储引擎。请参阅 第16章,备用存储引擎。该选项仅设置永久表的存储引擎。要设置
TEMPORARY
表格的存储引擎,请设置default_tmp_storage_engine
系统变量。如果在服务器启动时禁用默认存储引擎,则必须将永久和
TEMPORARY
表的默认引擎设置为 不同的引擎,否则服务器将无法启动。 -
属性 值 命令行格式 --default-time-zone=name
类型 串 设置默认服务器时区。该选项设置全局
time_zone
系统变量。如果未给出此选项,则默认时区与系统时区相同(由system_time_zone
系统变量的值给出) 。 --defaults-extra-file=
file_name
在全局选项文件之后读取此选项文件,但在用户选项文件之前(在Unix上)。如果文件不存在或无法访问,则会发生错误。
file_name
如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。如果使用它,它必须是命令行中的第一个选项。有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
只读取给定的选项文件。如果文件不存在或无法访问,则会发生错误。
file_name
如果作为相对路径名而非完整路径名给出,则相对于当前目录进行解释。例外:即使有
--defaults-file
, mysqld的读取mysqld-auto.cnf
。注意这必须是在命令行中的第一个选项,如果它被使用,只是如果服务器开始使用
--defaults-file
和--install
(或--install-manual
)选项,--install
(或--install-manual
)必须是第一个。有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
不仅要阅读常用选项组,还要阅读具有常用名称和后缀的组
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
有效值 ON
OFF
ALL
指定如何使用延迟键写入。延迟键写入会导致键缓冲区在
MyISAM
表写入之间不会被刷新 。OFF
禁用延迟键写入。ON
为使用该DELAY_KEY_WRITE
选项创建的表启用延迟键写入 。ALL
延迟所有MyISAM
表的关键写入 。请参见 第5.1.1节“配置服务器”和 第16.2.1节“MyISAM启动选项”。注意如果将此变量设置为
ALL
,则在使用MyISAM
表时,不应使用其他程序内的表(例如另一个MySQL服务器或 myisamchk)。这样做会导致索引损坏。-
属性 值 命令行格式 --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
平台特定 视窗 启用对命名管道的支持。该选项仅适用于Windows。
-
属性 值 命令行格式 --event-scheduler[=value]
系统变量 event_scheduler
范围 全球 动态 是 SET_VAR提示应用 没有 类型 列举 默认(> = 8.0.3) ON
默认(<= 8.0.2) OFF
有效值 ON
OFF
DISABLED
启用或禁用,并启动或停止事件调度程序。
有关详细信息,请参阅 该
--event-scheduler
选项。 --exit-info[=
,flags
]-T [
flags
]属性 值 命令行格式 --exit-info[=flags]
类型 整数 这是一个可以用来调试mysqld服务器的不同标志的位掩码。除非你确切地知道它做了什么,否则不要使用这个选项!
-
属性 值 命令行格式 --external-locking
类型 布尔 默认 FALSE
启用外部锁定(系统锁定),默认情况下禁用。如果你在一个
lockd
没有完全工作的系统上(例如Linux)使用这个选项 ,mysqld很容易死锁。要显式禁用外部锁定,请使用
--skip-external-locking
。外部锁仅影响
MyISAM
表访问。有关更多信息,包括可以使用和不可使用的条件,请参见第8.11.5节“外部锁定”。 -
属性 值 命令行格式 --flush
系统变量 flush
范围 全球 动态 是 SET_VAR提示应用 没有 类型 布尔 默认 OFF
在每个SQL语句之后刷新(同步)对磁盘的所有更改。通常情况下,只有在每个SQL语句之后,MySQL才会写入对磁盘的所有更改,并让操作系统处理与磁盘的同步。参见 第B.5.3.3节“如果MySQL保持崩溃怎么办”。
注意如果
--flush
指定,则值flush_time
无关紧要,并且更改为flush_time
对刷新行为没有影响。 -
属性 值 命令行格式 --gdb
类型 布尔 默认 FALSE
安装中断处理程序
SIGINT
(停止所需的mysqld与^C
设置断点),并且禁止堆栈跟踪和核心文件处理。请参见第29.5节“调试和移植MySQL”。从MySQL 8.0.11开始,此选项对抑制用于实现
RESTART
语句的分叉的Windows具有额外的作用:分叉使一个进程能够充当另一个进程的监视器,而另一个作为服务器。然而,分叉使得确定服务器进程以附加调试更加困难,所以启动服务器时--gdb
抑制分叉。副作用是对于以此选项启动的服务器,RESTART
只需退出并不重新启动。 -
属性 值 命令行格式 --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
类型 布尔 默认 OFF
该选项用于通过创建数据目录并填充
mysql
系统数据库中的表来初始化MySQL安装 。这个选项意味着--initialize
。有关更多信息,请参阅该选项的说明以及 第2.9.1.1节“使用mysqld手动初始化数据目录”。--initialize-insecure
与...互斥--daemonize
。 -
属性 值 命令行格式 --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]
平台特定 视窗 (仅限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
, -Llang_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
范围 全球 动态 没有 SET_VAR提示应用 没有 平台特定 Linux的 类型(Linux) 布尔 默认(Linux) FALSE
某些硬件/操作系统体系结构支持的内存页面大于默认值(通常为4KB)。这种支持的实际实施取决于底层硬件和操作系统。执行大量内存访问的应用程序可能通过使用大页面来获得性能改进,这是因为减少了翻译旁视缓冲区(TLB)缺失。
MySQL支持大型页面支持的Linux实现(在Linux中称为HugeTLB)。请参见 第8.12.3.2节“启用大页面支持”。有关Solaris支持大页面的信息,请参阅该
--super-large-pages
选项的说明 。--large-pages
在默认情况下被禁用。 -
属性 值 命令行格式 --lc-messages=name
系统变量 lc_messages
范围 全球,会议 动态 是 SET_VAR提示应用 没有 类型 串 默认 en_US
用于错误消息的语言环境。默认是
en_US
。服务器将参数转换为语言名称并将其与值组合--lc-messages-dir
以生成错误消息文件的位置。请参见 第10.11节“设置错误消息语言”。 -
属性 值 命令行格式 --lc-messages-dir=dir_name
系统变量 lc_messages_dir
范围 全球 动态 没有 SET_VAR提示应用 没有 类型 目录名称 错误消息所在的目录。服务器使用该值和值
--lc-messages
来生成错误消息文件的位置。请参见 第10.11节“设置错误消息语言”。 -
属性 值 命令行格式 --local-service
(仅限Windows)
--local-service
服务名称后面的选项会导致服务器使用LocalService
具有有限系统特权的Windows帐户运行 。如果两个--defaults-file
和--local-service
给出以下服务名称,他们可以在任何顺序。请参见 第2.3.5.8节“将MySQL作为Windows服务启动”。 -
属性 值 命令行格式 --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]
类型 文件名 记录
MyISAM
对此文件的所有更改(仅在调试时使用MyISAM
)。 -
属性 值 命令行格式 --log-output=name
系统变量 log_output
范围 全球 动态 是 SET_VAR提示应用 没有 类型 组 默认 FILE
有效值 TABLE
FILE
NONE
该选项确定一般查询日志和慢速查询日志输出的目的地。选项值可作为一个或一个以上的话
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[=value]
类型 布尔 默认 OFF
在写入一般查询日志,慢速查询日志和二进制日志的某些语句中,密码被服务器重写为不会以纯文本形式出现。通过使用该
--log-raw
选项启动服务器,可以为通用查询日志禁用密码重写 。此选项对于诊断目的可能很有用,可以查看服务器收到的语句的确切文本,但出于安全原因不建议用于生产用途。如果安装了查询重写插件,则该
--log-raw
选项会影响语句记录,如下所示:有关更多信息,请参见第6.1.2.3节“密码和日志记录”。
-
属性 值 命令行格式 --log-short-format
类型 布尔 默认 FALSE
将较少的信息记录到慢查询日志中(如果它已被激活)。
-
属性 值 命令行格式 --log-tc=file_name
类型 文件名 默认 tc.log
内存映射事务协调器日志文件的名称(对于禁用二进制日志时影响多个存储引擎的XA事务)。默认名称是
tc.log
。如果未以完整路径名称的形式给出该文件,则该文件将在数据目录下创建。此选项未使用。 -
属性 值 命令行格式 --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
范围 全球,会议 动态 是 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
类型 布尔 默认 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=#
类型 整数 默认 1024
最低限度 1024
最大 16384
要用于
MyISAM
索引页面的块大小。 --myisam-recover-options[=
option
[,option
]...]]属性 值 命令行格式 --myisam-recover-options[=name]
类型 列举 默认 OFF
有效值 OFF
DEFAULT
BACKUP
FORCE
QUICK
设置
MyISAM
存储引擎恢复模式。该选项值的值的任意组合OFF
,DEFAULT
,BACKUP
,FORCE
,或QUICK
。如果您指定多个值,请用逗号分隔它们。指定没有参数的选项与指定相同DEFAULT
,并指定""
禁用恢复的显式值(与值相同OFF
)。如果恢复已启用,则每次mysqld 打开一个MyISAM
表,它检查表是否标记为崩溃或未正确关闭。(最后一个选项仅在禁用外部锁定的情况下运行。)如果是这种情况, mysqld在表上运行检查。如果表被破坏,mysqld会尝试修复它。以下选项会影响修复的工作方式。
选项 描述 OFF
没有恢复。 DEFAULT
没有备份的恢复,强制或快速检查。 BACKUP
如果数据文件在恢复期间发生更改,请将该
文件的备份保存 为tbl_name
.MYD
。tbl_name-datetime
.BAKFORCE
即使我们会丢失 .MYD
文件中的多行,也要运行恢复 。QUICK
如果没有任何删除块,请不要检查表中的行。 在服务器自动修复表之前,它会将关于修复的注释写入错误日志。如果您希望能够在没有用户干预的情况下从大多数问题中恢复,则应该使用这些选项
BACKUP,FORCE
。这会强制修复表,即使某些行将被删除,但它会将旧数据文件保留为备份,以便您可以稍后检查发生了什么。不要阅读任何选项文件。如果由于从选项文件读取未知选项而导致程序启动失败,
--no-defaults
可用于防止读取它们。如果使用它,它必须是命令行中的第一个选项。有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
-
属性 值 命令行格式 --no-dd-upgrade
介绍 8.0.4 类型 布尔 默认 FALSE
防止在启动MySQL服务器时自动升级数据字典表。在将MySQL服务器就地升级到新版本之后启动MySQL服务器时,通常会使用此选项,该版本可能包含数据字典表定义的更改。
当
--no-dd-upgrade
指定时,并且服务器发现服务器的数据字典版本与数据字典中存储的版本不同时,启动将失败,并显示错误,指出禁止数据字典升级。在正常启动期间,将服务器的数据字典版本与存储在数据字典中的版本进行比较,以确定是否应升级数据字典表定义。如果需要升级并支持升级,则服务器将创建具有更新定义的数据字典表,将持久元数据复制到新表中,用新元素原子级替换旧表,然后重新初始化数据字典。如果不需要升级,启动将继续而不更新数据字典表。
-
属性 值 命令行格式 --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
类型 布尔 默认 FALSE
启用旧式用户限制。(在MySQL 5.0.3之前,账户资源限制是针对每个用户连接的主机而不是
user
表中的每个账户行分别计算的 。)请参见 第6.3.6节“设置账户资源限制”。 -
属性 值 命令行格式 --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
范围 全球 动态 没有 SET_VAR提示应用 没有 类型 文件名 进程ID文件的路径名称。服务器在数据目录中创建文件,除非给出绝对路径名来指定不同的目录。如果您指定此选项,则必须指定一个值。如果您不指定此选项,则MySQL使用默认值
,其中host_name
.pidhost_name
是主机名称。其他程序(如mysqld_safe)使用进程ID文件 来确定服务器的进程ID。在Windows上,该变量也会影响默认的错误日志文件名称。请参见第5.4.2节“错误日志”。
指定与服务器插件有关的选项。例如,许多存储引擎可以构建为插件,并且对于这样的引擎,它们的选项可以用
--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-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
选项。--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=#
类型 整数 默认 0
在某些系统上,当服务器停止时,TCP / IP端口可能不会立即变为可用。如果之后服务器很快重新启动,则尝试重新打开端口可能会失败。此选项指示服务器在无法打开时等待TCP / IP端口变为空闲的秒数。默认不等待。
打印程序名称以及从选项文件中获取的所有选项。密码值被屏蔽。这必须是在命令行上的第一个选项,如果使用它,除了它可能立即后使用
--defaults-file
或--defaults-extra-file
。有关此选项的其他信息,请参见 第4.2.7节“影响选项文件处理的命令行选项”。
-
属性 值 命令行格式 --remove [service_name]
平台特定 视窗 (仅限Windows)删除MySQL Windows服务。默认的服务名称是
MySQL
如果没有service_name
给出值。有关更多信息,请参见第2.3.5.8节“将MySQL作为Windows服务启动”。 -
属性 值 命令行格式 --safe-user-create
类型 布尔 默认 FALSE
如果启用此选项,则用户不能通过使用该
GRANT
语句来创建新的MySQL用户,除非该用户具有INSERT
该mysql.user
表或表中任何列的 特权 。如果您希望用户有能力创建具有用户有权授予的权限的新用户,则应授予该用户以下特权:GRANT INSERT(user) ON mysql.user TO 'user_name'@'host_name';
这确保用户不能直接更改任何权限列,但必须使用该
GRANT
语句向其他用户授予权限。 -
属性 值 命令行格式 --secure-auth
弃用 是的(在8.0.3中删除) 系统变量 secure_auth
范围 全球 动态 是 SET_VAR提示应用 没有 类型 布尔 默认 ON
有效值 ON
这个选项在MySQL 8.0.3中被删除。
-
属性 值 命令行格式 --secure-file-priv=dir_name
系统变量 secure_file_priv
范围 全球 动态 没有 SET_VAR提示应用 没有 类型 串 默认 platform specific
有效值 empty string
dirname
NULL
该选项设置
secure_file_priv
系统变量,该变量用于限制数据导入和导出操作的效果,例如由LOAD DATA
and和SELECT ... INTO OUTFILE
语句和LOAD_FILE()
函数执行的操作 。有关更多信息,请参阅说明secure_file_priv
。 -
属性 值 命令行格式 --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
。名称区分大小写。关闭在
MyISAM
表格上同时选择和插入的功能 。(只有在您认为您在此功能中发现错误时才会使用该功能。)请参见 第8.11.3节“并发插入”。-
属性 值 命令行格式 --skip-event-scheduler
--disable-event-scheduler
打开事件调度程序
OFF
。这与禁用需要设置的Event Scheduler不同--event-scheduler=DISABLED
; 看到 该--event-scheduler
选项,以获取更多信息。 此选项使服务器根本无需使用权限系统即可启动,这使得访问服务器的任何人都可以不受限制地访问所有数据库。您可以通过在系统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在升级过程中刷新权限。禁用内部主机缓存以加快名称到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 ,缓存也不会重新启用 。禁用
InnoDB
存储引擎。在这种情况下,因为默认存储引擎是InnoDB
,服务器将不会启动,除非您还使用--default-storage-engine
并将--default-tmp-storage-engine
默认值设置为其他引擎的永久和TEMPORARY
表。该
InnoDB
存储引擎不能被禁用,而--skip-innodb
选项已被弃用,没有任何效果。它的使用导致警告。该选项将在未来的MySQL版本中删除。检查客户端连接时不要解析主机名。只使用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';
根本不要听TCP / IP连接。所有与mysqld的交互都必须使用命名管道或共享内存(在Windows上)或Unix套接字文件(在Unix上)进行。强烈建议仅允许本地客户端的系统使用此选项。请参见第8.12.4.2节“DNS查找优化和主机高速缓存”。
如果服务器启动时
--skip-grant-tables
选择了禁用身份验证检查,则服务器可以--skip-networking
阻止远程连接。开头的选项
--ssl
指定是否允许客户端使用SSL进行连接,并指明在哪里可以找到SSL密钥和证书。请参见 第6.4.2节“加密连接的命令选项”。-
属性 值 命令行格式 --standalone
平台特定 视窗 仅在Windows上可用; 指示MySQL服务器不作为服务运行。
-
属性 值 命令行格式 --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
范围 全球 动态 没有 SET_VAR提示应用 没有 该选项设置
skip_show_database
控制谁可以使用该SHOW DATABASES
语句的 系统变量 。请参见 第5.1.5节“服务器系统变量”。 -
属性 值 命令行格式 --skip-stack-trace
不要写入堆栈跟踪。当您在调试器下运行mysqld时,此选项很有用。在某些系统上,您还必须使用此选项来获取核心文件。请参见 第29.5节“调试和移植MySQL”。
-
属性 值 命令行格式 --slow-query-log
系统变量 slow_query_log
范围 全球 动态 是 SET_VAR提示应用 没有 类型 布尔 默认 OFF
指定最初的慢查询日志状态。如果没有参数或参数为1,则该
--slow-query-log
选项将启用日志。如果省略或用0的参数给出,则该选项将禁用日志。 -
属性 值 命令行格式 --slow-start-timeout=#
类型(Windows) 整数 默认(Windows) 15000
该选项控制Windows服务控制管理器的服务启动超时。该值是在启动期间尝试终止Windows服务之前服务控制管理器等待的最大毫秒数。默认值是15000(15秒)。如果MySQL服务启动时间过长,则可能需要增加此值。值为0意味着没有超时。
-
属性 值 命令行格式 --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) ALLOW_INVALID_DATES
ANSI_QUOTES
ERROR_FOR_DIVISION_BY_ZERO
HIGH_NOT_PRECEDENCE
IGNORE_SPACE
NO_AUTO_CREATE_USER
NO_AUTO_VALUE_ON_ZERO
NO_BACKSLASH_ESCAPES
NO_DIR_IN_CREATE
NO_ENGINE_SUBSTITUTION
NO_FIELD_OPTIONS
NO_KEY_OPTIONS
NO_TABLE_OPTIONS
NO_UNSIGNED_SUBTRACTION
NO_ZERO_DATE
NO_ZERO_IN_DATE
ONLY_FULL_GROUP_BY
PAD_CHAR_TO_FULL_LENGTH
PIPES_AS_CONCAT
REAL_AS_FLOAT
STRICT_ALL_TABLES
STRICT_TRANS_TABLES
TIME_TRUNCATE_FRACTIONAL
有效值 ALLOW_INVALID_DATES
ANSI_QUOTES
ERROR_FOR_DIVISION_BY_ZERO
HIGH_NOT_PRECEDENCE
IGNORE_SPACE
NO_AUTO_CREATE_USER
NO_AUTO_VALUE_ON_ZERO
NO_BACKSLASH_ESCAPES
NO_DIR_IN_CREATE
NO_ENGINE_SUBSTITUTION
NO_FIELD_OPTIONS
NO_KEY_OPTIONS
NO_TABLE_OPTIONS
NO_UNSIGNED_SUBTRACTION
NO_ZERO_DATE
NO_ZERO_IN_DATE
ONLY_FULL_GROUP_BY
PAD_CHAR_TO_FULL_LENGTH
PIPES_AS_CONCAT
REAL_AS_FLOAT
STRICT_ALL_TABLES
STRICT_TRANS_TABLES
设置SQL模式。
注意MySQL安装程序可能会在安装过程中配置SQL模式。
如果SQL模式与默认或预期不同,请检查服务器在启动时读取的选项文件中的设置。
-
属性 值 命令行格式 --sysdate-is-now
类型 布尔 默认 FALSE
SYSDATE()
默认情况下返回它执行的时间,而不是它开始执行的语句的时间。这与行为有所不同NOW()
。该选项会SYSDATE()
成为别名NOW()
。有关二进制日志和复制的影响的信息,请参阅用于描述SYSDATE()
在 12.7节,“日期和时间函数”和SET TIMESTAMP
在 第5.1.5节,“服务器系统变量”。 --tc-heuristic-recover={COMMIT|ROLLBACK}
属性 值 命令行格式 --tc-heuristic-recover=name
类型 列举 默认 COMMIT
有效值 COMMIT
ROLLBACK
在启发式恢复过程中使用的决策类型。要使用此选项,必须安装两个或多个支持XA事务的存储引擎 。
-
属性 值 命令行格式 --temp-pool
弃用 是(在8.0.1中删除) 类型(其他) 布尔 类型(Linux) 布尔 默认(其他) FALSE
默认(Linux) TRUE
该选项已过时,并在MySQL 8.0.1中被删除。
-
属性 值 命令行格式 --transaction-isolation=name
系统变量 transaction_isolation
范围 全球,会议 动态 是 SET_VAR提示应用 没有 类型 列举 默认 REPEATABLE-READ
有效值 READ-UNCOMMITTED
READ-COMMITTED
REPEATABLE-READ
SERIALIZABLE
设置默认事务隔离级别。该
level
值可以是READ-UNCOMMITTED
,READ-COMMITTED
,REPEATABLE-READ
,或SERIALIZABLE
。请参见 第13.3.7节“SET TRANSACTION语法”。默认事务隔离级别也可以在运行时使用该
SET TRANSACTION
语句或通过设置transaction_isolation
系统变量来设置 。 -
属性 值 命令行格式 --transaction-read-only
系统变量 transaction_read_only
范围 全球,会议 动态 是 SET_VAR提示应用 没有 类型 布尔 默认 OFF
设置默认的事务访问模式。默认情况下,只读模式被禁用,所以模式是可读写的。
要在运行时设置默认事务访问模式,请使用该
SET TRANSACTION
语句或设置transaction_read_only
系统变量。请参见第13.3.7节“SET TRANSACTION语法”。 --tmpdir=
,dir_name
-t
dir_name
属性 值 命令行格式 --tmpdir=dir_name
系统变量 tmpdir
范围 全球 动态 没有 SET_VAR提示应用 没有 类型 目录名称 用于创建临时文件的目录的路径。如果您的默认
/tmp
目录驻留在太小而不能容纳临时表的分区上,可能会很有用。该选项接受几种以循环方式使用的路径。路径应该由:
Unix上的冒号()和;
Windows上的分号()分隔。如果MySQL服务器充当复制从服务器,则不应将其设置--tmpdir
为指向基于内存的文件系统上的目录或指向服务器主机重新启动时清除的目录。有关临时文件存储位置的更多信息,请参阅 第B.5.3.5节“MySQL存储临时文件的位置”。复制从服务器需要一些临时文件才能在计算机重新启动后存活,以便它可以复制临时表或LOAD DATA INFILE
操作。如果服务器重新启动时临时文件目录中的文件丢失,则复制失败。--user={
,user_name
|user_id
}-u {
user_name
|user_id
}属性 值 命令行格式 --user=name
类型 串 以具有名称或数字用户标识的用户身份运行mysqld服务器。(在这种情况下,“ 用户 ”是指系统登录帐户,而不是授权表中列出的MySQL用户。)
user_name
user_id
此选项强制启动时 的mysqld为
root
。服务器在其启动顺序期间更改其用户标识,使其作为特定用户而不是作为特定用户运行root
。请参见 第6.1.1节“安全指南”。为了避免用户
--user=root
在my.cnf
文件中添加选项 (从而导致服务器运行root
)的可能的安全漏洞 ,mysqld 仅使用--user
指定的第一个选项,并在存在多个--user
选项时生成警告 。在选项/etc/my.cnf
和$MYSQL_HOME/my.cnf
之前的命令行选项的处理方法,所以建议你把--user
在选项/etc/my.cnf
并指定以外的值root
。选项in/etc/my.cnf
在任何其他--user
选项之前找到 ,这确保了服务器以非root
,如果--user
找到其他选项,则会发出警告。学什么技术好使用此选项和
--help
选项可获得详细帮助。--version
,-V
显示版本信息并退出。