10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 下载本手册
PDF(美国高级主任)- 41.1 mb
PDF (A4)- 41.2 mb
PDF (RPM)- 39.8 mb
HTML下载(TGZ)- 9.5 mb
HTML下载(Zip)- 9.6 mb
HTML下载(RPM)- 8.1 mb
手册页(TGZ)- 260.5 kb
手册页(Zip)- 371.7 kb
信息(Gzip)- 3.9 mb
信息(邮政编码)- 3.9 mb
本手册节选

5.1.7服务器命令选项

当你开始mysqld服务器中描述的任何方法,都可以指定程序选项第4.2.2节,“指定程序选项”.最常见的方法是在选项文件中或在命令行中提供选项。但是,在大多数情况下,最好确保服务器每次运行时都使用相同的选项。确保这一点的最佳方法是在选项文件中列出它们。看到第4.2.2.2节“使用选项文件”.该部分还描述了选项文件格式和语法。

mysqld(mysqld)而且(服务器)组。mysqld_safe(mysqld)(服务器)(mysqld_safe),(safe_mysqld)组。mysql.server(mysqld)而且(mysql.server)组。

mysqld接受许多命令选项。对于一个简短的总结,执行这个命令:

mysqld——帮助

要查看完整的列表,使用以下命令:

Mysqld——verbose——帮助

列表中的一些项实际上是可以在服务器启动时设置的系统变量。可以在运行时使用显示变量声明。前面显示的部分项目mysqld命令中没有出现显示变量输出;这是因为它们只是选项,而不是系统变量。

下面的列表显示了一些最常见的服务器选项。其他部分描述了其他选项:

一些选项控制缓冲区或缓存的大小。对于给定的缓冲区,服务器可能需要分配内部数据结构。这些结构通常从分配给缓冲区的总内存中分配,所需的空间量可能取决于平台。这意味着当您将一个值赋给一个控制缓冲区大小的选项时,实际可用的空间量可能与所赋的值不同。在某些情况下,金额可能小于分配的值。服务器也有可能向上调整一个值。例如,如果您为一个最小值为1024的选项分配了一个值0,则服务器将该值设置为1024。

除非另有规定,缓冲区大小、长度和堆栈大小的值以字节为单位给出。

有些选项接受文件名值。除非另有指定,如果值为相对路径名,则默认文件位置为数据目录。若要显式指定位置,请使用绝对路径名。假设数据目录为/var/mysql/data.如果文件值选项作为相对路径名给出,则它位于/var/mysql/data.如果值是绝对路径名,则其位置由路径名给出。

您还可以在服务器启动时使用变量名作为选项来设置服务器系统变量的值。若要将值赋给服务器系统变量,请使用窗体的选项--var_name价值.例如,——sort_buffer_size = 384设置sort_buffer_size变量的值为384MB。

当你给一个变量赋值时,MySQL可能会自动修正这个值以保持在给定的范围内,或者如果只允许某些值,则将值调整到最接近的允许值。

属性来限制在运行时可以设置的系统变量的最大值语句,则使用窗体的选项指定此最大值——最大var_name价值在服务器启动时。

方法可以在运行时更改大多数系统变量的值声明。看到第13.7.6.1节,变量赋值的SET语法

章节5.1.8,“服务器系统变量”,提供了所有变量的完整描述,以及在服务器启动和运行时设置它们的附加信息。有关更改系统变量的信息,请参见第5.1.1节“配置服务器”

  • ——帮助-?

    命令行格式 ——帮助

    显示简短的帮助消息并退出。同时使用——详细而且——帮助选项以查看完整消息。

  • ——admin-ssl——skip-admin-ssl

    命令行格式 ——admin-ssl[={|在}]
    介绍了 8.0.21
    弃用 8.0.26
    类型 布尔
    默认值

    ——admin-ssl选项就像——ssl选项,但它应用于管理连接接口而不是主连接接口。有关这些接口的信息,请参见章节5.1.12.1,“连接接口”

    ——admin-ssl选项指定服务器在管理界面上允许但不要求加密连接。该选项默认启用。

    ——admin-ssl可以用否定形式指定为——skip-admin-ssl或同义词(——admin-ssl =了——disable-admin-ssl)。在本例中,该选项指定服务器执行此操作属性的设置,均允许加密连接admin_tsl_xxx而且admin_ssl_xxx系统变量。

    ——admin-ssl选项仅在服务器启动时对管理界面是否支持加密连接起作用。它被忽略,对操作没有影响修改实例重载TLS在运行时。例如,你可以使用——admin-ssl =了启动管理界面,禁用加密连接,然后重新配置TLS并执行为mysql_admin通道重新加载TLS在运行时启用加密连接。

    有关配置连接加密支持的一般信息,请参见章节6.3.1,“配置MySQL使用加密连接”.该讨论是针对主连接接口编写的,但参数名称与管理连接接口类似。考虑至少设置admin_ssl_cert而且admin_ssl_key服务器端系统变量和——ssl-ca(或——ssl-capath)选项。有关管理接口的详细信息,请参见对加密连接的管理接口支持

    因为默认情况下启用了对加密连接的支持,所以通常不需要指定——admin-ssl.从MySQL 8.0.26开始,——admin-ssl已弃用,并将在未来的MySQL版本中删除。如果希望禁用加密连接,可以不指定——admin-ssl用否定的形式。设置admin_tls_version将系统变量设置为空值,以表示不支持TLS版本。例如,服务器中的这些行my.cnf文件禁用加密连接:

    (mysqld) admin_tls_version = "
  • ——allow-suspicious-udfs

    命令行格式 ——allow-suspicious-udfs[={|在}]
    类型 布尔
    默认值

    属性的用户定义函数是否具有xxx符号的主要功能可以加载。默认情况下,该选项是关闭的,只有至少有一个辅助符号的udf才能被加载;这可以防止尝试从包含合法udf的共享目标文件中加载函数。看到UDF安全注意事项

  • ——ansi

    命令行格式 ——ansi

    使用标准(ANSI) SQL语法,而不是MySQL语法。要更精确地控制服务器SQL模式,请使用——sql模式选项。看到第1.7节,“MySQL标准遵从”,章节5.1.11,“Server SQL模式”

  • ——basedir =dir_name- bdir_name

    命令行格式 ——basedir = dir_name
    系统变量 basedir
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 目录名称
    默认值 mysqld安装目录的父目录

    MySQL安装目录路径。此选项设置basedir系统变量。

    服务器可执行文件在启动时确定自己的完整路径名,并使用其所在目录的父目录作为默认值basedir价值。这又使服务器能够使用它basedir等服务器相关信息时分享包含错误消息的目录。

  • ——character-set-client-handshake

    命令行格式 ——character-set-client-handshake[={|在}]
    类型 布尔
    默认值

    不要忽略客户端发送的字符集信息。若要忽略客户端信息并使用默认的服务器字符集,请使用——skip-character-set-client-handshake;这使得MySQL像MySQL 4.0一样运行。

  • ——chroot =dir_name- rdir_name

    命令行格式 ——chroot = dir_name
    类型 目录名称

    mysqld服务器在封闭环境中启动时使用chroot ()系统调用。这是推荐的安全措施。使用这个选项有些限制加载数据而且选择……到输出文件

  • ——控制台

    命令行格式 ——控制台
    特定于平台的 窗户

    (Windows)。导致默认错误日志目的地为控制台。这将影响基于默认目的地的日志接收器。看到第5.4.2节“错误日志”mysqld如果使用此选项,则不关闭控制台窗口。

    ——控制台优先于——日志错误如果两者都给定。

  • ——核心文件

    命令行格式 ——核心文件(={|在})
    类型 布尔
    默认值

    写一个核心文件,如果mysqld死亡。核心文件的名称和位置取决于系统。在Linux中,一个名为核心。pid被写入进程的当前工作目录,用于哪个mysqld是数据目录。pid表示服务器进程的进程号。在macOS上,一个名为核心。pid被写入/核心目录中。在Solaris上,使用coreadm命令指定写入核心文件的位置以及如何命名它。

    对于某些系统,要获取核心文件,还必须指定——核心文件大小选项mysqld_safe.看到章节4.3.2,“mysqld_safe - MySQL服务器启动脚本”.在某些系统(如Solaris)上,如果还使用内核文件,则不会获得核心文件——用户选择。可能会有额外的限制或限制。例如,它可能需要执行无限制在启动服务器之前。查阅您的系统文档。10bet官方网站

    innodb_buffer_pool_in_core_file变量可用于在支持它的操作系统上减小核心文件的大小。有关更多信息,请参见15.8.3.7节“从核心文件中排除缓冲池页面”

  • ——daemonize- d

    命令行格式 ——daemonize[={|在}]
    类型 布尔
    默认值

    该选项使服务器作为传统的分支守护进程运行,允许它与使用systemd进行进程控制的操作系统一起工作。有关更多信息,请参见章节2.5.9,“使用systemd管理MySQL服务器”

    ——daemonize是相互排斥的——初始化而且——initialize-insecure

    方法启动服务器——daemonize选项,并且未连接到tty设备,这是的默认错误日志记录选项——日志错误= " "在没有显式日志记录选项的情况下使用,将错误输出定向到默认日志文件。

    - d是同义词吗——daemonize

  • ——datadir =dir_name- hdir_name

    命令行格式 ——datadir = dir_name
    系统变量 datadir
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 目录名称

    MySQL服务器数据目录的路径。此选项设置datadir系统变量。请参阅该变量的描述。

  • ——调试(=debug_options- # (debug_options

    命令行格式 ——调试(= debug_options)
    系统变量 调试
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值(Windows) d:师:我:啊,\ mysqld.trace
    默认值(Unix) d:师:我:啊,/ tmp / mysqld.trace

    如果MySQL配置了-DWITH_DEBUG = 1CMake选项,您可以使用此选项获取跟踪文件的内容mysqld在干什么。一个典型的debug_options字符串是d:师:啊,file_name.默认为d:师:我:啊,/ tmp / mysqld.trace在Unix和d:师:我:啊,\ mysqld.trace在Windows上。

    使用-DWITH_DEBUG = 1配置MySQL与调试支持使您可以使用- debug = " d, parser_debug”选项。这导致用于处理SQL语句的Bison解析器将解析器跟踪转储到服务器的标准错误输出。通常,此输出被写入错误日志。

    这个选项可以给出多次。以+-与前一个值相加或减去。例如,——调试= T——调试= + P将值设置为P: T

    有关更多信息,请参见第5.9.4节,“DBUG包”

  • ——debug-sync-timeout [=N

    命令行格式 ——debug-sync-timeout (= #)
    类型 整数

    控制是否启用用于测试和调试的调试同步功能。使用调试同步要求MySQL配置-DENABLE_DEBUG_SYNC = 1CMake选项(见章节2.9.7,“MySQL源配置选项”)。如果没有在调试同步中编译,则此选项不可用。该选项值为超时时间,单位为秒。默认值为0,表示禁用调试同步。要启用它,请指定一个大于0的值;这个值也成为各个同步点的默认超时。如果该选项没有给出值,则超时被设置为300秒。

    有关调试同步功能和如何使用同步点的说明,请参见MySQL内部:测试同步

  • ——时区=时区

    命令行格式 ——时区=名字
    类型 字符串

    设置服务器默认时区。此选项设置全局time_zone系统变量。如果不指定此选项,则默认时区与系统时区相同system_time_zone系统变量。

  • ——defaults-extra-file =file_name

    读取这个选项文件在全局选项文件之后,但(在Unix上)在用户选项文件之前。如果文件不存在或无法访问,则会发生错误。如果file_name不是绝对路径名,它是相对于当前目录解释的。如果使用该选项,则必须是命令行上的第一个选项。

    有关此选项和其他选项文件选项的详细信息,请参见章节4.2.2.3,“影响选项文件处理的命令行选项”

  • ——defaults-file =file_name

    只读取给定的选项文件。如果文件不存在或无法访问,则会发生错误。如果file_name不是绝对路径名,它是相对于当前目录解释的。

    例外:即使与——defaults-filemysqld读取mysqld-auto.cnf

    请注意

    如果使用该选项,则必须是命令行上的第一个选项,除非服务器是用——defaults-file而且——安装(或——install-manual)选项,——安装(或——install-manual)必须是第一。

    有关此选项和其他选项文件选项的详细信息,请参见章节4.2.2.3,“影响选项文件处理的命令行选项”

  • ——defaults-group-suffix =str

    不仅要阅读常用的选项组,还要阅读具有常用名称和后缀为的组str.例如,mysqld通常读取(mysqld)组。如果此选项为——defaults-group-suffix = _othermysqld也读取(mysqld_other)组。

    有关此选项和其他选项文件选项的详细信息,请参见章节4.2.2.3,“影响选项文件处理的命令行选项”

  • ——early-plugin-load =plugin_list

    命令行格式 ——early-plugin-load = plugin_list
    类型 字符串
    默认值 空字符串

    这个选项告诉服务器在加载强制内置插件和存储引擎初始化之前加载哪些插件。如果多个——early-plugin-load给出了选项,只有最后一个适用。

    选项值是一个以分号分隔的列表plugin_library而且的名字plugin_library值。每一个plugin_library包含插件代码的库文件的名称和每个的名字要加载的插件的名称。如果一个插件库的命名没有任何前面的插件名称,服务器将加载该插件库中的所有插件。使用前面的插件名,服务器只从库中加载命名的插件。的目录中查找插件库文件plugin_dir系统变量。

    例如,如果插件命名为myplug1而且myplug2是否包含在插件库文件中myplug1.so而且myplug2.so,使用此选项执行早期插件加载:

    mysqld——early-plugin-load = " myplug1 = myplug1.so; myplug2 = myplug2.so”

    引号括住参数值,否则一些命令解释器会解释分号()作为一个特殊的角色。(例如,Unix shell将其视为命令结束符。)

    的一次调用,每个已命名插件都会提前加载mysqld只有。重启后,插件不会提前加载,除非——early-plugin-load再次使用。

    如果服务器正在使用——初始化——initialize-insecure,指定的插件——early-plugin-load没有加载。

    如果服务器使用——帮助,指定的插件——early-plugin-load加载但未初始化。此行为确保插件选项显示在帮助消息中。

    InnoDB表空间加密依赖于MySQL Keyring进行加密密钥管理,为了方便存储引擎初始化,需要在存储引擎初始化之前加载Keyring插件InnoDB加密表的恢复。例如,需要keyring_file在启动时加载的插件应该使用——early-plugin-load使用适当的选项值(例如keyring_file.so在Unix和类Unix系统上keyring_file.dll在Windows上)。

    有关InnoDB表空间加密,请参见第15.13节“InnoDB静态数据加密”.有关插件加载的一般信息,请参见章节5.6.1,“安装和卸载插件”

    请注意

    对于MySQL Keyring,此选项仅在使用Keyring插件管理密钥存储库时使用。如果密钥库管理使用密匙环组件而不是插件,则使用清单文件指定组件加载;看到章节6.4.4.2,“钥匙环组件安装”

  • ——exit-info [=旗帜- t [旗帜

    命令行格式 ——exit-info(=旗帜)
    类型 整数

    的位掩码,可用于调试mysqld服务器。除非你知道,否则不要使用这个选项完全它能做什么!

  • ——外部锁

    命令行格式 ——外部锁(={|在})
    类型 布尔
    默认值

    启用外部锁定(系统锁定),默认禁用。如果您在一个系统上使用此选项lockd不完全工作(如Linux),它很容易mysqld死锁。

    若要显式禁用外部锁定,请使用——skip-external-locking

    外部锁定仅影响MyISAM表的访问。有关更多信息,包括可以和不能使用它的条件,请参见第8.11.5节“外部锁定”

  • ——平

    命令行格式 ——冲洗(={|在})
    系统变量 冲洗
    范围 全球
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    在每条SQL语句之后将所有更改刷新(同步)到磁盘。通常,MySQL只在每条SQL语句之后将所有更改写入磁盘,并让操作系统处理同步到磁盘的操作。看到B.3.3.3节,“如果MySQL一直崩溃该怎么办”

    请注意

    如果——平时,flush_time无所谓而变来flush_time对冲水行为没有影响。

  • ——广东发展银行

    命令行格式 ——gdb(={|在})
    类型 布尔
    默认值

    为安装中断处理程序信号情报(需要停止mysqldC ^设置断点),并禁用堆栈跟踪和核心文件处理。看到章节5.9.1.4,“在gdb下调试mysqld”

    在Windows上,此选项还会抑制用于实现重新启动fork使一个进程可以充当另一个进程的监视器,而另一个进程则充当服务器。但是,fork使得确定要附加到的服务器进程以进行调试变得更加困难,因此从——广东发展银行抑制分叉。对于使用此选项启动的服务器,重新启动只是退出,不重新启动。

    在非调试设置中,——无显示器可用于压制分叉监控进程。

  • ——初始化-我

    命令行格式 ——初始化(={|在})
    类型 布尔
    默认值

    这个选项用于通过创建data目录和填充数据库中的表来初始化MySQL安装mysql系统模式。有关更多信息,请参见第2.10.1节,初始化数据目录

    当服务器启动时——初始化属性所命名的任何文件中所允许的语句的某些功能不可用init_file系统变量。有关详细信息,请参阅该变量的描述。此外,disabled_storage_engines系统变量没有影响。

    ——ndbclusterOption与。一起使用时被忽略——初始化

    ——初始化是相互排斥的——daemonize

    -我是同义词吗——初始化

  • ——initialize-insecure

    命令行格式 ——initialize-insecure[={|在}]
    类型 布尔
    默认值

    这个选项用于通过创建data目录和填充数据库中的表来初始化MySQL安装mysql系统模式。这个选项意味着——初始化.有关详细信息,请参见该选项的描述,以及第2.10.1节,初始化数据目录

    ——initialize-insecure是相互排斥的——daemonize

  • ——innodbxxx

    属性的选项InnoDB存储引擎。的InnoDB选项列于章节15.14“InnoDB启动选项和系统变量”

  • ——安装(service_name

    命令行格式 ——安装(service_name)
    特定于平台的 窗户

    (仅限Windows)将服务器安装为Windows服务,在Windows启动时自动启动。默认服务名称为MySQL如果没有service_name值是给定的。有关更多信息,请参见章节2.3.4.8,“将MySQL作为Windows服务启动”

    请注意

    方法启动服务器——defaults-file而且——安装选项,——安装一定是第一个。

  • ——install-manual [service_name

    命令行格式 ——install-manual [service_name]
    特定于平台的 窗户

    (仅限Windows)将服务器安装为需要手动启动的Windows服务。它不会在Windows启动过程中自动启动。默认服务名称为MySQL如果没有service_name值是给定的。有关更多信息,请参见章节2.3.4.8,“将MySQL作为Windows服务启动”

    请注意

    方法启动服务器——defaults-file而且——install-manual选项,——install-manual一定是第一个。

  • ——语言=lang_name, - llang_name

    命令行格式 ——语言=名字
    弃用 是的,使用lc-messages-dir而不是
    系统变量 语言
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 目录名称
    默认值 /usr/local/mysql/share/mysql/english/

    用于错误消息的语言。lang_name可以作为语言名称,也可以作为安装语言文件的目录的完整路径名称。看到第10.12节,“设置错误消息语言”

    ——lc-messages-dir而且——lc-messages应该用而不是——语言,已弃用(并作为同义词处理——lc-messages-dir)。你应该预料到——语言选项将在未来的MySQL版本中删除。

  • ——大页面

    命令行格式 ——大页面(={|在})
    系统变量 large_pages
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    特定于平台的 Linux
    类型 布尔
    默认值

    一些硬件/操作系统架构支持大于默认值的内存页(通常是4KB)。这种支持的实际实现取决于底层硬件和操作系统。执行大量内存访问的应用程序可以通过使用大页面来获得性能提升,这是由于转换备用缓冲区(TLB)丢失的减少。

    MySQL支持大页面支持的Linux实现(在Linux中称为HugeTLB)。看到章节8.12.3.2,“启用大页面支持”.的描述,以获得Solaris对大页面的支持——super-large-pages选择。

    ——大页面默认禁用。

  • ——lc-messages =locale_name

    命令行格式 ——lc-messages =名字
    系统变量 lc_messages
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 字符串
    默认值 en_US

    用于错误消息的区域设置。默认为en_US.服务器将参数转换为语言名,并将其与的值结合——lc-messages-dir生成错误消息文件的位置。看到第10.12节,“设置错误消息语言”

  • ——lc-messages-dir =dir_name

    命令行格式 ——lc-messages-dir = dir_name
    系统变量 lc_messages_dir
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 目录名称

    错误消息所在的目录。服务器将该值与的值一起使用——lc-messages生成错误消息文件的位置。看到第10.12节,“设置错误消息语言”

  • ——本地服务

    命令行格式 ——本地服务

    (仅限Windows——本地服务选项将使服务器使用LocalService系统权限有限的Windows帐户。如果两个——defaults-file而且——本地服务是在服务名之后给出的,它们可以是任意顺序。看到章节2.3.4.8,“将MySQL作为Windows服务启动”

  • ——日志错误[=file_name

    命令行格式 ——日志错误[= file_name]
    系统变量 log_error
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 文件名称

    将默认错误日志目标设置为指定文件。这将影响基于默认目的地的日志接收器。看到第5.4.2节“错误日志”

    如果该选项未命名文件,则Unix和类Unix系统上的默认错误日志目的地是一个名为host_name.err在data目录中。Windows上的默认目标是相同的,除非——pid文件选项。在这种情况下,文件名是带有后缀的PID文件基名.err在data目录中。

    如果该选项指定了一个文件,则默认目标是该文件(带有.err如果名称没有后缀,则添加后缀),位于数据目录下,除非给出了绝对路径名以指定不同的位置。

    如果错误日志输出不能重定向到错误日志文件,则会发生错误,启动失败。

    在Windows上,——控制台优先于——日志错误如果两者都给定。在这种情况下,默认的错误日志目的地是控制台而不是文件。

  • ——log-isam [=file_name

    命令行格式 ——log-isam [= file_name]
    类型 文件名称

    记录所有MyISAM此文件的更改(仅在调试时使用MyISAM)。

  • ——log-raw

    命令行格式 ——log-raw[={|在}]
    系统变量(≥8.0.19) log_raw
    范围(≥8.0.19) 全球
    动态(≥8.0.19) 是的
    SET_VAR提示适用(≥8.0.19) 没有
    类型 布尔
    默认值

    写入常规查询日志、慢速查询日志和二进制日志的某些语句中的密码将由服务器重写,不以纯文本的形式出现。方法启动服务器,可以抑制常规查询日志的密码重写——log-raw选择。此选项可能用于诊断目的,以查看服务器接收到的语句的确切文本,但出于安全原因,不建议用于生产使用。

    如果安装了查询重写插件,则——log-raw选项对语句日志记录的影响如下:

    • 没有——log-raw,服务器记录由查询重写插件返回的语句。这可能与收到的声明不同。

    • ——log-raw,服务器会记录收到的原始语句。

    有关更多信息,请参见第6.1.2.3节“密码及登入”

  • ——log-short-format

    命令行格式 ——log-short-format[={|在}]
    类型 布尔
    默认值

    如果已激活,则将较少的信息记录到慢速查询日志中。

  • ——log-tc =file_name

    命令行格式 ——log-tc = file_name
    类型 文件名称
    默认值 tc.log

    内存映射事务协调器日志文件的名称(用于禁用二进制日志时影响多个存储引擎的XA事务)。默认名称为tc.log.如果没有给出完整的路径名,则在数据目录下创建文件。此选项未使用。

  • ——log-tc-size =大小

    命令行格式 ——log-tc-size = #
    类型 整数
    默认值 6 *页面大小
    最小值 6 *页面大小
    最大值(64位平台) 18446744073709551615
    最大值(32位平台) 4294967295

    内存映射事务协调器日志的字节大小。默认值和最小值为页面大小的6倍,且必须是页面大小的倍数。

  • ——memlock

    命令行格式 ——memlock[={|在}]
    类型 布尔
    默认值

    锁住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;
    重要的

    使用此选项可能要求您将服务器作为,出于安全考虑,这通常不是一个好主意。看到章节6.1.5,“如何以普通用户运行MySQL”

    在Linux和其他系统上,您可以避免将服务器运行为通过改变limits.conf文件。中关于memlock限制的说明章节8.12.3.2,“启用大页面支持”

    属性不支持的系统上不能使用此选项mlockall ()系统调用;如果你这样做,mysqld很可能在您试图启动它时退出。

  • ——myisam-block-size =N

    命令行格式 ——myisam-block-size = #
    类型 整数
    默认值 1024
    最小值 1024
    最大值 16384

    要使用的块大小MyISAM索引页。

  • ——已

    不要读取任何选项文件。如果从选项文件中读取未知选项导致程序启动失败,——已可用于防止它们被读取。如果使用该选项,则必须是命令行上的第一个选项。

    有关此选项和其他选项文件选项的详细信息,请参见章节4.2.2.3,“影响选项文件处理的命令行选项”

  • ——no-dd-upgrade

    命令行格式 ——no-dd-upgrade[={|在}]
    弃用 8.0.16
    类型 布尔
    默认值
    请注意

    从MySQL 8.0.16开始,该选项已弃用。它被——升级选项,它提供了对数据字典和服务器升级行为的更精细控制。

    禁止在MySQL服务器启动过程中自动升级数据字典表。此选项通常用于在将现有安装升级到新MySQL版本后启动MySQL服务器,这可能包括对数据字典表定义的更改。

    ——no-dd-upgrade如果服务器发现其期望的数据字典版本与数据字典本身存储的版本不同,则启动失败,并报错数据字典升级被禁止;

    [ERROR] [MY-011091] [Server]命令行选项'——no_dd_upgrade'禁止数据字典升级。[ERROR] [MY-010020] [Server]数据字典初始化失败。

    在正常启动期间,将服务器的数据字典版本与存储在数据字典中的版本进行比较,以确定是否应该升级数据字典表定义。如果需要升级并且支持升级,服务器将使用更新的定义创建数据字典表,将持久元数据复制到新表,原子地用新表替换旧表,并重新初始化数据字典。如果不需要升级,则继续启动而不更新数据字典表。

  • ——无显示器

    命令行格式 ——无显示器(={|在})
    介绍了 8.0.12
    特定于平台的 窗户
    类型 布尔
    默认值

    (Windows)。方法的分支将被抑制重新启动fork使一个进程可以充当另一个进程的监视器,而另一个进程则充当服务器。对于使用此选项启动的服务器,重新启动只是退出,不重新启动。

    ——无显示器在MySQL 8.0.12之前不可用。的——广东发展银行选项可以用作解决方案。

  • ——old-style-user-limits

    命令行格式 ——old-style-user-limits[={|在}]
    类型 布尔
    默认值

    启用旧式的用户限制。(在MySQL 5.0.3之前,帐户资源限制是为用户连接的每台主机分别计算的,而不是数据库中的每个帐户行用户表)。看到第6.2.20节“设置帐户资源限制”

  • ——performance-schema-xxx

    配置性能模式选项。详细信息请参见第27.14节“性能架构命令选项”

  • ——plugin-load =plugin_list

    命令行格式 ——plugin-load = plugin_list
    系统变量 plugin_load
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串

    这个选项告诉服务器在启动时加载已命名的插件。如果多个——plugin-load给出了选项,只有最后一个适用。额外的插件加载可以指定使用——plugin-load-add选项。

    选项值是一个以分号分隔的列表plugin_library而且的名字plugin_library值。每一个plugin_library包含插件代码的库文件的名称和每个的名字要加载的插件的名称。如果一个插件库的命名没有任何前面的插件名称,服务器将加载该插件库中的所有插件。使用前面的插件名,服务器只从库中加载命名的插件。的目录中查找插件库文件plugin_dir系统变量。

    例如,如果插件命名为myplug1而且myplug2是否包含在插件库文件中myplug1.so而且myplug2.so,使用此选项执行早期插件加载:

    mysqld——plugin-load = " myplug1 = myplug1.so; myplug2 = myplug2.so”

    引号括住参数值,否则一些命令解释器会解释分号()作为一个特殊的角色。(例如,Unix shell将其视为命令结束符。)

    的一次调用加载每个命名插件mysqld只有。重启后,插件不会被加载,除非——plugin-load再次使用。这与安装插件属性中添加一个条目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_add
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串

    选项的补充——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,“安装和卸载插件”

  • ——插件xxx

    指定一个属于服务器插件的选项。例如,许多存储引擎可以构建为插件,对于这些引擎,可以使用——插件前缀。因此,——innodb-file-per-table选择InnoDB可以指定为——plugin-innodb-file-per-table

    对于可启用或禁用的布尔选项,——跳过还支持前缀格式和其他替代格式(参见第4.2.2.4节“程序选项修饰符”)。例如,——skip-plugin-innodb-file-per-table禁用innodb-file-per-table

    的基本原理——插件Prefix的优点是,如果与内置服务器选项有名称冲突,则可以明确地指定插件选项。例如,我们是一个插件作者来命名一个插件sql并实现模式选项,选项名可能是——sql模式,这将与同名的内置选项冲突。在这种情况下,对冲突名称的引用将被解析,以支持内置选项。为了避免歧义,用户可以将插件选项指定为——plugin-sql-mode.的使用——插件建议为插件选项加上前缀,以避免任何歧义问题。

  • ——港口=port_num- pport_num

    命令行格式 ——港口= port_num
    系统变量 港口
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 整数
    默认值 3306
    最小值 0
    最大值 65535

    监听TCP/IP连接时使用的端口号。在Unix和类Unix系统上,端口号必须为1024或更高,除非服务器是由操作系统用户。将此选项设置为0会使用默认值。

  • ——port-open-timeout =全国矿工工会

    命令行格式 ——port-open-timeout = #
    类型 整数
    默认值 0

    在某些系统上,当服务器停止时,TCP/IP端口可能不会立即变得可用。如果服务器随后快速重新启动,则重新打开端口的尝试可能会失败。此选项表示如果无法打开TCP/IP端口,服务器应该等待多长秒才能使其空闲。默认为不等待。

  • ——print-defaults

    打印程序名称和它从选项文件中获得的所有选项。密码值被屏蔽。如果使用该选项,则必须是命令行上的第一个选项,除非它可以紧随其后使用——defaults-file——defaults-extra-file

    有关此选项和其他选项文件选项的详细信息,请参见章节4.2.2.3,“影响选项文件处理的命令行选项”

  • ——删除(service_name

    命令行格式 ——删除(service_name)
    特定于平台的 窗户

    (仅限Windows)删除MySQL Windows服务。默认服务名称为MySQL如果没有service_name值是给定的。有关更多信息,请参见章节2.3.4.8,“将MySQL作为Windows服务启动”

  • ——safe-user-create

    命令行格式 ——safe-user-create[={|在}]
    类型 布尔
    默认值

    如果启用该选项,则用户不能使用格兰特语句,除非用户具有插入特权mysql.user系统表或表中的任何列。如果您希望用户能够创建具有该用户有权授予的权限的新用户,您应该授予该用户以下权限:

    授权插入(用户)mysql。用户到'user_name“@”host_name”;

    这确保用户不能直接更改任何权限列,而必须使用格兰特语句,赋予其他用户特权。

  • ——skip-grant-tables

    命令行格式 ——skip-grant-tables[={|在}]
    类型 布尔
    默认值

    该选项会影响服务器启动顺序:

  • ——skip-host-cache

    命令行格式 ——skip-host-cache

    禁用内部主机缓存以实现更快的名称到ip解析。在缓存被禁用的情况下,每次客户端连接时,服务器都会执行DNS查找。

    使用——skip-host-cache类似于设置host_cache_size系统变量为0,但是host_cache_size更灵活,因为它还可以用于在运行时(而不仅仅是在服务器启动时)调整大小、启用或禁用主机缓存。

    使用以下命令启动服务器——skip-host-cache的值不能阻止运行时更改host_cache_size,但是这样的更改没有任何影响,并且缓存不会重新启用host_cache_size设置大于0。

    有关主机缓存如何工作的详细信息,请参见第5.1.12.3节,DNS查找和主机缓存

  • ——skip-innodb

    禁用InnoDB存储引擎。在本例中,因为默认存储引擎是InnoDB,服务器不会启动,除非你也使用——default-storage-engine而且——default-tmp-storage-engine为永久和其他引擎设置默认值临时表。

    InnoDB存储引擎不能被禁用,并且——skip-innodb选项已弃用,没有任何效果。它的使用将导致一个警告。预计这个选项将在未来的MySQL版本中被删除。

  • ——skip-new

    命令行格式 ——skip-new

    这个选项禁止(过去被认为是)新的、可能不安全的行为。它的结果是这些设置:delay_key_write =了concurrent_insert =没有automatic_sp_privileges =了.它还导致优化表映射到ALTER TABLE用于存储引擎优化表不支持。

  • ——skip-show-database

    命令行格式 ——skip-show-database
    系统变量 skip_show_database
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    此选项设置skip_show_database控件的系统变量,该变量控制允许谁使用显示数据库声明。看到章节5.1.8,“服务器系统变量”

  • ——skip-stack-trace

    命令行格式 ——skip-stack-trace

    不要写堆栈跟踪。此选项在运行时非常有用mysqld在调试器下。在某些系统上,还必须使用此选项来获取核心文件。看到章节5.9,“调试MySQL”

  • ——slow-start-timeout =超时

    命令行格式 ——slow-start-timeout = #
    类型 整数
    默认值 15000

    此选项控制Windows服务控制管理器的服务启动超时。该值是服务控制管理器在启动期间试图终止windows服务之前等待的最大毫秒数。缺省值是15000(15秒)。如果MySQL服务启动时间过长,可能需要增加这个值。值为0表示没有超时。

  • ——套接字=路径

    命令行格式 ——套接字= {file_name | pipe_name}
    系统变量 套接字
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 字符串
    默认值(Other) / tmp / mysql.sock
    默认值(Windows) MySQL

    在Unix上,此选项指定侦听本地连接时使用的Unix套接字文件。默认值为/ tmp / mysql.sock.如果给出了此选项,服务器将在data目录中创建文件,除非给出了绝对路径名以指定不同的目录。在Windows上,该选项指定监听使用命名管道的本地连接时要使用的管道名。默认值为MySQL(不区分大小写)。

  • ——sql模式=价值[,价值[,价值……]

    命令行格式 ——sql模式=名字
    系统变量 sql_mode
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 是的
    类型
    默认值 Only_full_group_by strict_trans_tables no_zero_in_date no_zero_date error_for_division_by_zero no_engine_substitution
    有效值

    ALLOW_INVALID_DATES

    ANSI_QUOTES

    ERROR_FOR_DIVISION_BY_ZERO

    HIGH_NOT_PRECEDENCE

    IGNORE_SPACE

    NO_AUTO_VALUE_ON_ZERO

    NO_BACKSLASH_ESCAPES

    NO_DIR_IN_CREATE

    NO_ENGINE_SUBSTITUTION

    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

    设置SQL模式。看到章节5.1.11,“Server SQL模式”

    请注意

    MySQL安装程序在安装过程中可能会配置SQL模式。

    如果SQL模式与默认模式或您期望的模式不同,请检查服务器在启动时读取的选项文件中的设置。

  • ——ssl——skip-ssl

    命令行格式 ——ssl(={|在})
    弃用 8.0.26
    残疾的 skip-ssl
    类型 布尔
    默认值

    ——ssl选项指定服务器允许但不要求主连接接口上的加密连接。该选项默认启用。

    一个类似的选择,——admin-ssl,就像——ssl,但是它应用于管理连接接口而不是主连接接口。有关这些接口的信息,请参见章节5.1.12.1,“连接接口”

    ——ssl可以用否定形式指定为——skip-ssl或同义词(——ssl =了——禁用ssl)。在本例中,该选项指定服务器执行此操作属性的设置,均允许加密连接tls_xxx而且ssl_xxx系统变量。

    ——ssl选项仅在服务器启动时对服务器是否支持加密连接起作用。它被忽略,对操作没有影响修改实例重载TLS在运行时。例如,你可以使用——ssl =了在禁用加密连接的情况下启动服务器,然后重新配置TLS并执行修改实例重载TLS在运行时启用加密连接。

    有关配置服务器是否允许客户端使用SSL进行连接以及指示在何处查找SSL密钥和证书的详细信息,请参见章节6.3.1,“配置MySQL使用加密连接”,其中还描述了证书和密钥文件自动生成和自动发现的服务器功能。考虑至少设置ssl_cert而且ssl_key服务器端系统变量和——ssl-ca(或——ssl-capath)选项。

    因为默认情况下启用了对加密连接的支持,所以通常不需要指定——ssl.从MySQL 8.0.26开始,——ssl已弃用,并将在未来的MySQL版本中删除。如果希望禁用加密连接,可以不指定——ssl用否定的形式。设置tls_version将系统变量设置为空值,以表示不支持TLS版本。例如,服务器中的这些行my.cnf文件禁用加密连接:

    (mysqld) tls_version = "
  • ——独立

    命令行格式 ——独立
    特定于平台的 窗户

    仅适用于Windows;指示MySQL服务器不作为服务运行。

  • ——super-large-pages

    命令行格式 ——super-large-pages[={|在}]
    特定于平台的 Solaris
    类型 布尔
    默认值

    MySQL中大页面的标准使用尝试使用支持的最大大小,最大可达4MB。在Solaris下,超大页功能允许使用高达256MB的页面。该特性可用于最近的SPARC平台。属性可以启用或禁用——super-large-pages——skip-super-large-pages选择。

  • ——符号链接——skip-symbolic-links

    命令行格式 ——符号链接(={|在})
    弃用 是的
    类型 布尔
    默认值

    启用或禁用符号链接支持。在Unix上,启用符号链接意味着您可以链接一个MyISAM索引文件或数据文件到另一个目录索引目录数据目录选项创建表声明。如果删除或重命名表,则其符号链接所指向的文件也将被删除或重命名。看到第8.12.2.2节,Unix上的MyISAM表使用符号链接

    请注意

    符号链接支持,以及——符号链接控制它的选项,已弃用;你应该期待它会在MySQL的未来版本中被移除。此外,该选项默认是禁用的。相关的have_symlink系统变量也已弃用;希望它在MySQL的未来版本中被移除。

    这个选项在Windows上没有意义。

  • ——sysdate-is-now

    命令行格式 ——sysdate-is-now[={|在}]
    类型 布尔
    默认值

    SYSDATE ()默认情况下,返回它执行的时间,而不是它所在语句开始执行的时间。这与的行为不同现在().此选项导致SYSDATE ()成为…的同义词现在().有关二进制日志记录和复制的含义的信息,请参阅的描述SYSDATE ()第12.7节“日期和时间函数”设置时间戳章节5.1.8,“服务器系统变量”

  • ——tc-heuristic-recover ={提交|回滚}

    命令行格式 ——tc-heuristic-recover =名字
    类型 枚举
    默认值
    有效值

    提交

    回滚

    决定在手动启发式恢复中使用。

    如果一个——tc-heuristic-recover选项时,无论手动启发式恢复是否成功,服务器都退出。

    在具有多个存储引擎的系统上,可以进行两阶段提交回滚选项是不安全的,并导致恢复停止,并出现以下错误:

    [ERROR]——tc-启发式-恢复回滚策略在具有多个两阶段提交存储引擎的系统上不安全。正在中止崩溃恢复。
  • ——事务隔离=水平

    命令行格式 ——事务隔离=名字
    系统变量 transaction_isolation
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 枚举
    默认值 可重复读取
    有效值

    读未提交

    读取提交

    可重复读取

    可序列化的

    设置默认事务隔离级别。的水平价值可以是读未提交读取提交可重复读取,或可序列化的.看到第13.3.7节,SET TRANSACTION语句

    属性也可以在运行时设置默认事务隔离级别设置事务语句或通过设置transaction_isolation系统变量。

  • ——transaction-read-only

    命令行格式 ——transaction-read-only[={|在}]
    系统变量 transaction_read_only
    范围 全球、会话
    动态 是的
    SET_VAR提示应用 没有
    类型 布尔
    默认值

    设置默认事务访问模式。缺省情况下,只读模式为读写模式。

    要在运行时设置默认事务访问模式,请使用设置事务语句或设置transaction_read_only系统变量。看到第13.3.7节,SET TRANSACTION语句

  • ——tmpdir =dir_name- tdir_name

    命令行格式 ——tmpdir = dir_name
    系统变量 tmpdir
    范围 全球
    动态 没有
    SET_VAR提示应用 没有
    类型 目录名称

    用于创建临时文件的目录的路径。如果你的默认设置是/ tmp目录所在的分区太小,无法存放临时表。此选项接受以循环方式使用的几个路径。路径应以冒号分隔()和分号字符()。

    ——tmpdir可以是非永久位置,例如基于内存的文件系统上的目录,或者当服务器主机重新启动时将被清除的目录。如果MySQL服务器作为一个副本,并且您正在使用一个非永久位置——tmpdir方法为副本设置一个不同的临时目录slave_load_tmpdir系统变量。对于副本,用于复制的临时文件加载数据语句存储在这个目录中,因此有了永久的位置,它们可以在机器重新启动后继续存在,尽管现在如果临时文件已被删除,复制可以在重新启动后继续进行。

    有关临时文件存储位置的详细信息,请参见章节B.3.3.5,“MySQL存放临时文件的地方”

  • ——升级=价值

    命令行格式 ——升级=值
    介绍了 8.0.16
    类型 枚举
    默认值 汽车
    有效值

    汽车

    没有一个

    最小的

    此选项控制服务器在启动时是否以及如何执行自动升级。自动升级分为两步:

    • 步骤1:升级数据字典。

      此步骤升级:

      • 中的数据字典表mysql模式。如果实际数据字典版本低于当前预期版本,则升级数据字典。如果不能这样做,或者被阻止这样做,服务器就不能运行。

      • 性能架构和INFORMATION_SCHEMA

    • 步骤2:服务器升级。

      此步骤包括所有其他升级任务。如果现有安装数据的MySQL版本低于服务器的预期,则必须升级:

      • 中的系统表mysql模式(剩余的非数据字典表)。

      • sys模式。

      • 用户模式。

    升级步骤1和步骤2请参见章节2.11.3,“MySQL升级过程升级什么”

    这些——升级允许选项值:

    • 汽车

      服务器自动升级它发现的任何过时的东西(步骤1和2)。如果——升级未显式指定。

    • 没有一个

      服务器在启动过程中不执行自动升级步骤(跳过步骤1和2)。因为这个选项值阻止了数据字典的升级,如果发现数据字典过期,服务器会报错退出:

      [ERROR] [MY-013381] [Server]服务器关闭,因为需要升级,但被命令行选项'——upgrade=NONE'禁止。[ERROR] [MY-010334] [Server]初始化DD存储引擎失败[ERROR] [MY-010020] [Server]数据字典初始化失败。
    • 最小的

      服务器升级数据字典、性能模式和INFORMATION_SCHEMA请注意,在使用此选项升级之后,无法启动Group Replication,因为复制内部所依赖的系统表没有更新,并且在其他领域可能也会明显降低功能。

    • 服务器升级数据字典、性能模式和INFORMATION_SCHEMA此外,服务器强制升级其他所有东西(步骤2)。预计服务器启动这个选项需要更长的时间,因为服务器检查所有模式中的所有对象。

      如果服务器认为不需要执行步骤2操作,则强制执行这些操作非常有用。例如,您可能认为系统表丢失或损坏,并希望强制进行修复。

    下表总结了服务器对每个选项值采取的操作。

    选项值 服务器执行步骤1? 服务器执行步骤2?
    汽车 如果有必要的话 如果有必要的话
    没有一个 没有 没有
    最小的 如果有必要的话 没有
    如果有必要的话 是的
  • ——用户= {user_name|user_id- u {user_name|user_id

    命令行格式 ——用户=名字
    类型 字符串

    运行mysqld服务器作为具有该名称的用户user_name或数字用户IDuser_id.(用户此处指的是系统登录帐户,而不是授权表中列出的MySQL用户。)

    这个选项是强制性的当开始mysqld作为.服务器在启动顺序中更改其用户ID,导致它以特定用户而不是以普通用户运行.看到第6.1.1节“保安指引”

    避免用户在添加时出现安全漏洞——用户=根选项my.cnf文件(从而导致服务器以),mysqld只使用第一个——用户选项,如果有多个则产生警告——用户选项。选项/etc/my.cnf而且$ MYSQL_HOME / my.cnf在命令行选项之前处理,因此建议您将——用户选项/etc/my.cnf并指定一个值.选项/etc/my.cnf比其他的都要早——用户选项,以确保服务器以其他用户运行,如果发生其他情况,则产生警告——用户选项被找到。

  • ——validate-config

    命令行格式 ——validate-config[={|在}]
    介绍了 8.0.16
    类型 布尔
    默认值

    验证服务器启动配置。如果没有发现错误,则服务器终止,退出码为0。如果发现错误,服务器将显示一条诊断消息,并以退出码1终止。还可能显示警告和信息消息,这取决于log_error_verbosity值,但不会立即产生验证终止或退出码为1。有关更多信息,请参见第5.1.3节,“服务器配置验证”

  • ——validate-user-plugins[={|在}]

    命令行格式 ——validate-user-plugins[={|在}]
    类型 布尔
    默认值

    如果启用了这个选项(默认),服务器将检查每个用户帐户,并在发现使帐户不可用的条件时产生警告:

    • 该帐号需要一个未加载的认证插件。

    • 该帐户需要sha256_passwordcaching_sha2_password认证插件,但服务器启动时没有启用SSL或RSA,如插件所要求。

    启用——validate-user-plugins减慢服务器初始化和冲洗的特权.如果您不需要额外的检查,您可以在启动时禁用此选项,以避免性能下降。

  • ——详细- v

    属性使用此选项——帮助选项的详细帮助。

  • ——版本- v

    显示版本信息并退出。