10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

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——详细的帮助

列表中的一些项实际上是可以在服务器启动时设置的系统变量。可以在运行时使用显示变量声明。一些项目显示在前面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并执行更改实例重新加载TLS为通道mysql_admin在运行时启用加密连接。

    有关配置连接加密支持的一般信息,请参见第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,如果还使用——用户选择。可能会有额外的限制或限制。例如,可能需要执行ulimit - c无限在启动服务器之前。查阅您的系统文档。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提示应用 没有
    类型 字符串
    默认值(Unix) d:师:我:啊,/ tmp / mysqld.trace
    默认值(Windows) d:师:我:啊,\ mysqld.trace

    如果MySQL配置了-DWITH_DEBUG = 1CMake选项,您可以使用此选项获取what的跟踪文件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使一个进程充当另一个进程的监视器,而另一个进程充当服务器。但是,分叉使得确定要附加到的服务器进程以进行调试变得更加困难,因此要用——广东发展银行抑制分叉。对于以此选项开始的服务器,重新启动只是退出,不重新启动。

    在调试环境中,——无显示器可用于抑制分叉监视进程。

  • ——初始化-我

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

    该选项用于初始化MySQL安装,方法是创建data目录并填充mysql系统模式。有关更多信息,请参见第2.10.1节“初始化数据目录”

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

    ——ndbcluster选项与。一起使用时被忽略——初始化

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

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

  • ——initialize-insecure

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

    该选项用于初始化MySQL安装,方法是创建data目录并填充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)的内存页。这种支持的实际实现取决于底层硬件和操作系统。由于Translation Lookaside Buffer (TLB) miss减少,执行大量内存访问的应用程序可以通过使用大页面获得性能改进。

    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在数据目录中。Windows上的默认目标是相同的,除非——pid文件选项指定。在这种情况下,文件名是带有后缀的PID文件名.err在数据目录中。

    如果该选项命名了一个文件,则默认目标是该文件(带有.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.如果没有给出完整路径名,则在data目录下创建文件。此选项未使用。

  • ——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/ manman .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

    的基本原理——插件前缀的作用是,如果与内置服务器选项有名称冲突,它可以明确地指定插件选项。例如,如果一个插件作者给一个插件命名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系统表或表中的任何列。如果您希望用户能够创建具有该用户有权授予的权限的新用户,您应该授予该用户以下权限:

    GRANT INSERT(user) ON 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提示应用 没有
    类型 字符串
    默认值(Windows) MySQL
    默认值(其他) / tmp / mysql.sock

    在Unix上,此选项指定在监听本地连接时使用的Unix套接字文件。默认值为/ tmp / mysql.sock.如果指定了该选项,服务器将在数据目录中创建文件,除非指定了绝对路径名以指定不同的目录。在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-heuristic-recover回滚策略在拥有多个两阶段提交存储引擎的系统上是不安全的。流产崩溃恢复。
  • ——事务隔离=水平

    命令行格式 ——事务隔离=名字
    系统变量 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目录位于分区上,该分区太小,无法容纳临时表。该选项接受以循环方式使用的多个路径。路径应以冒号分隔()及分号字符(在Windows上)。

    ——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] Failed to initialize DD Storage Engine [ERROR] [MY-010020] [Server] Data Dictionary初始化失败。
    • 最小的

      服务器升级数据字典、性能架构和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

    显示版本信息并退出。