MySQL Cluster Manager 8.0.31 用户手册  / 第 4 章使用 MySQL 集群管理器  /  4.1 mcmd,MySQL Cluster Manager Agent

4.1  mcmd,MySQL Cluster Manager Agent

mcmd是 MySQL Cluster Manager 代理程序。调用此可执行文件会启动 MySQL Cluster Manager 代理,您可以使用mcm客户端连接到该代理(有关更多信息,请参阅 第 4.3 节“启动 MySQL Cluster Manager 客户端”第 5 章MySQL Cluster Manager 客户端命令)。

您可以通过指定本节中讨论的一个或多个选项来修改代理的行为。根据感兴趣的选项,最多可以通过三种方式进行设置:

  1. 调用mcmd 时直接在命令行中包含该选项 。可以对表 4.1 MySQL Cluster Manager Agent (mcmd) Option SummaryCmd-Line列 下的 所有选项执行此操作。某些选项只能通过此方法在命令行上指定(例如, 和 )。 --config--bootstrap

    使用此方法在命令行上指定代理配置选项时,选项名称以两个前导破折号 ( --) 为前缀;例如,--mcmd-user=johndoe。请参阅选项描述表中给出的每个选项的命令行格式

  2. 在代理配置文件 中包含该选项 。可以对表 4.1 MySQL Cluster Manager Agent (mcmd) Option SummaryOption File列 下的 所有选项执行此操作。这些规则适用:

    • 选项的名称不应破折号或任何其他字符为前缀。

    • 选项名称中的任何连字符都应更改为下划线。

    • 配置文件的格式遵循MySQL Router配置文件的格式;有关文件格式的说明,请参阅 配置文件语法。必须在配置文件的正确部分指定一个选项;请参阅表 4.1,“MySQL Cluster Manager Agent (mcmd) Option Summary”了解每个选项所属的部分。

    • 每个选项必须在单独的行中指定。您可以通过插入前导哈希字符 ( #) 来注释一行。

  3. 对于 MySQL Cluster Manager 8.0.28 及更高版本:配置文件中可配置的任何选项(即,通过上面的方法 2),除了 mcmd_password, 都可以在mcmd命令行中设置或覆盖,方法是指定格式为 ,其中是选项所属的配置文件中部分的名称。例如,和 。 --section_name.option=valuesection_name--mcmd.bind_port=12345--logger.level=DEBUG

下表包含mcmd在启动时读取的代理选项的摘要。有关每个选项的更多详细信息,请参阅选项说明。

表 4.1 MySQL 集群管理器代理 (mcmd) 选项摘要

姓名 命令行 选项文件 配置文件部分
自举 是的 - -
配置 是的 - -
额外配置 是的 - -
帮助 是的 - -
最初的 是的 - -
版本 是的 - -
数据文件夹 是的 是的 DEFAULT
日志文件夹 - 是的 DEFAULT
max_total_connections - 是的 DEFAULT
pid文件 是的 是的 DEFAULT
- 是的 DEFAULT
未知配置选项 - 是的 DEFAULT
文件名 - 是的 logger, syslog, filelog,eventlog
等级 - 是的 logger
绑定端口 弃用 是的 mcmd
复制端口 弃用 是的 mcmd
mcmd_密码 - 是的 mcmd
mcmd-用户 弃用 是的 mcmd
xcom端口 弃用 是的 mcmd

MySQL Cluster Manager Agent ( mcmd) 选项说明

以下列表包含可用于mcmd的每个配置选项的描述,包括允许值和默认值。未提及类型的选项 只需要指定才能生效——您不应该尝试为它们设置值。

  • bind-port=#

    命令行格式 --bind-port=#(≤ 8.0.30)
    类型 数字
    默认值 1862
    最小值 1
    最大值 65535

    指定 MySQL Cluster Manager 客户端连接使用的端口。可以使用任何有效的 TC/IP 端口号。通常,无需更改默认值 (1862)。

    对于 8.0.30 及更高版本:命令行格式 --bind-port已被弃用。在命令行上使用格式 --mcmd.bind-port (优先于指定选项的所有其他方式),或在配置文件中指定选项(这两种方法都优先于已弃用的命令行格式)。

  • --bootstrap, -B

    命令行格式 --bootstrap

    mycluster 使用默认配置值启动代理程序,在名为的站点中 创建一个名为 的默认单机集群mysite,然后启动它。此选项仅在尚未创建站点时有效。

  • --config=filename, -c

    命令行格式 --config=file_name
    类型 文件名
    默认值 mcmd.conf, in the MCM installation directory

    设置从中读取配置选项的文件。 mcmd.conf在 MySQL Cluster Manager 的安装目录中是 mcmd查找该文件的第一个默认位置。有关详细信息,请参阅 第 3.4 节,“MySQL 集群管理器配置文件”

  • copy-port

    命令行格式 --copy-port=#(≤ 8.0.30)
    类型 数字
    默认值 0
    最小值 0
    最大值 65535

    允许您指定用于文件复制操作的端口。默认值为 0。

    对于 8.0.30 及更高版本:命令行格式--copy-port 已被弃用。改用格式 --mcmd.copy-port (优先于指定选项的所有其他方式),或在配置文件中指定选项(这两种方法都优先于已弃用的命令行格式)。

  • --data-folder=dir_name, -d dir_name

    命令行格式 --data-folder=dir_name
    类型 目录名称
    默认值 mcm_data in the parent directory of the MCM installation directory

    设置代理存储库的位置,其中包含 MySQL Cluster Manager 数据文件和 MySQL NDB Cluster 配置和数据文件的集合。该值必须是有效的绝对路径。

    默认位置mcm_data在 MySQL Cluster Manager 安装目录的父目录中。如果更改默认值,则应使用 MySQL Cluster Manager 安装目录外部的标准位置,例如 /var/opt/mcm在 Linux 上。

    除了 MySQL 集群管理器控制下的所有集群的数据文件外,数据文件夹还包含一个 rep目录,其中 保存了mcmd配置和元数据。--data-folder 通常,除了指定选项外,不需要与这些目录进行交互;请参阅第 4.8 节“使用来自其他代理的数据恢复 MySQL Cluster Manager 代理”第 4.7 节“备份和恢复 MySQL Cluster Manager 代理”中的例外情况 。

  • --extra-config=filename ,-a

    命令行格式 --extra-config=file_name
    类型 文件名

    在从默认位置或 --config选项指定的位置读取配置文件后读取此文件。可以传递多个 --extra-config选项,文件按照指定的顺序加载。

  • filename=filename

    类型 文件名
    默认值 mcmd.log

    设置要写入日志的文件的名称。默认值为 mcmd.log,位于找到 MySQL Cluster Manager 安装目录的同一目录中。该文件的位置可以用该 logging_folder选项覆盖。

  • --help, -?

    命令行格式 --help

    mcmd帮助输出提供有关某些文件路径和所有程序选项的信息;它还提供了mcmd命令的一些用法示例:

    $> mcmd --help
    MySQL Cluster Manager  v8.0.31 on linux-glibc2.12 (64-bit) (MySQL Enterprise - Commercial)
    Copyright (c) 2007, 2022, Oracle and/or its affiliates.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Configuration read from the following files in the given order (enclosed
    in parentheses means not available for reading):
      (/opt/mcm8.0.31/bin/.././mcmd.conf)
      (/opt/mcm8.0.31/bin/.././mcmd.ini)
      (/home/johndoe/.mcmd.conf)
      (/home/johndoe/.mcmd.ini)
    Plugins Path:
      /opt/mcm8.0.31/lib/mysqlrouter
    
    Default Log Directory:
      /opt
    
    Default Persistent Data Directory:
      /opt/mcm_data
    
    Default Runtime State Directory:
      /opt
    
    
    # Usage
    
    mcmd (-?|--help)
    
    mcmd (-V|--version)
    
    mcmd (-c|--config=<path>) [-a|--extra-config=<path>]
    
    mcmd (-B|--bootstrap)
    
    mcmd (-d|--data-folder=<directory>)
    
    mcmd (-i|--initial)
    
    mcmd --pid-file=<pidfile>
    
    mcmd --mcmd-user=<username>
    
    mcmd --bind-port=<portnumber>
    
    mcmd --copy-port=<portnumber>
    
    mcmd --xcom-port=<portnumber>
    
    # Options
    
      -B, --bootstrap
            Bootstrap a MySQL Cluster using MySQL Cluster Manager
      -c <path>, --config <path>
            Only read configuration from given file.
      -d <directory>, --data-folder <directory>
            Data directory for MySQL Cluster Manager.
      -a <path>, --extra-config <path>
            Read this file after configuration files are read from either
            default locations or from files specified by the --config
            option.
      -?, --help
            Display this help and exit.
      -i, --initial
            Reinitialize configuration metadata directory
      --mcmd-user <username>
            The username used to access MySQL Cluster Manager [DEPRECATED]
      --pid-file <pidfile>
            Path and filename of pid file
      -V, --version
            Display version information and exit.
      --bind-port <portnumber>
            Portnumber to use for mcmd. [DEPRECATED]
      --copy-port <portnumber>
            Portnumber to use for file copying. [DEPRECATED]
      --xcom-port <portnumber>
            Portnumber to use for XCOM. [DEPRECATED]
    
    # Examples
    
    Bootstrap a cluster into system-wide installation
    
        sudo mcmd --bootstrap 
    
    Start mcmd as another user
    
        sudo mcmd --user=mcmd
    
    Bootstrap a cluster with a specified mcm_data directory
    
        mcmd --bootstrap -d my_mcm_data
  • --initial, -i

    命令行格式 --initial

    mcm_data/rep/在像 backup agents命令为本地主机所做的那样 备份代理的配置存储 ( ) 之后,在启动mcmd之前擦除配置存储的内容。然后从其他代理恢复代理的配置。当代理陷入不一致状态并且无法正确重启时,这很有用。

  • level=level

    类型 枚举
    默认值 info
    有效值

    fatal

    system

    error

    warning

    info

    note

    debug

    设置mcmd日志严重级别。此选项的可能值及其说明在 表 4.2 “MySQL Cluster Manager 代理日志级别”中按严重性降序列出。当该选项设置为某个严重级别时,将记录该级别或更高级别的所有事件。 info是默认日志级别,是生产环境的推荐设置;在更严重的日志级别上运行会产生更少的消息,并且在问题发生时更难追踪问题。

    表 4.2 MySQL Cluster Manager 代理日志级别

    严重程度 描述
    fatal 应立即纠正的情况,例如损坏的 MySQL Cluster Manager 数据存储库
    system 有关产品的信息性消息
    error 应更正的条件,例如配置错误
    warning 执行不会失败但可能需要用户注意的条件
    info 有关站点主要事件和命令执行的消息(默认)
    note 为用户提供一些执行细节的信息性消息
    debug 提供对开发人员有用的执行细节的调试消息。如果长时间使用,这会导致很大的日志文件。

    虽然该level 选项的设置仅应用于其mcmd 代理使用该选项的主机,但change log-level客户端命令可用于将日志记录级别应用于整个管理站点或特定主机。

  • logging_folder=dir_name

    类型 目录名称
    默认值 The parent directory of the MCM installation directory

    mcmd日志文件目录 的路径。默认是MySQL Cluster Manager安装目录的父目录。

  • max_total_connections

    介绍 8.0.27
    类型 整数
    默认值 512
    最小值 1
    最大值 9223372036854775807

    与mcmd 的最大客户端连接 数。设置此选项有助于防止 mcmd用完文件描述符。这类似于MySQL 服务器的 max_connections系统变量。

    默认值为 512,该选项在 [DEFAULT]配置文件的部分中设置。

  • mcmd_password=password

    该选项有以下两个目的:

    • 设置mcm客户端的用户密码,以连接到mcmd代理,用户名由 设置--mcmd-user。如果未指定该选项, super则使用默认值。如果该选项指定了另一个值,则客户 --password端在尝试连接到代理时必须使用客户端选项提供它。

    • 为mcmd代理程序用来访问 SQL 节点 的 MySQL 帐户设置密码 。当一个 SQL 节点被初始化时,mcmd--mcmd-user代理使用该选项设置的用户名 和该选项设置的密码 在其上创建一个新的 MySQL 用户帐户。--mcmd-user有关帐户的更多详细信息, 请参阅说明。

      如果未指定该选项, super则使用默认值。

    该选项只能在 [mcmd]配置文件部分设置,不能在命令行中设置。

  • mcmd-user=user_name

    该选项有以下两个目的:

    • 设置mcm客户端连接到mcmd代理的用户名。如果未指定该选项, mcmd则使用默认值。如果该选项指定了另一个值,则客户 --user端在尝试连接到代理时必须使用客户端选项提供它。

      使用此用户名连接代理的密码是用 mcmd_password选项设置的。

    • 为mcmd代理程序用来访问 SQL 节点 的 MySQL 帐户设置用户名 。当一个 SQL 节点被初始化时,mcmd 代理使用选项设置的用户名和选项设置的密码在其上创建一个新的 MySQL 用户帐户 mcmd_password此帐户创建时具有 MySQL 服务器上的所有权限,包括授予权限。换句话说,它的创建就像您 GRANT ALL PRIVILEGES ON *.* ... WITH GRANT OPTIONmysql客户端中执行的一样。在这种情况下不会更改现有的 MySQL root帐户,并且默认test数据库被保留。

    如果未指定该选项, mcmd则使用默认值。

    对于 8.0.30 及更高版本:命令行格式--mcmd-user 已被弃用。改用格式 --mcmd.mcmd-user (优先于指定选项的所有其他方式),或在配置文件中指定选项(这两种方法都优先于已弃用的命令行格式)。

  • --pid-file=file

    命令行格式 --pid-file=file_name
    类型 文件名
    默认值 mcmd.pid

    设置进程 ID ( .pid) 文件的名称和路径。通常不使用或不需要。Windows 系统不支持此选项。

  • sinks

    类型 细绳
    有效值 (Windows)

    consolelog

    filelog

    eventlog

    有效值(其他)

    consolelog

    filelog

    syslog

    mcmd 使用的不同日志记录方法。

    支持的接收器值是:consolelogfilelogeventlog(仅在 Windows 上)和syslog(仅在基于 Unix 的系统上)。使用逗号分隔的列表来定义多个值。如果您定义了多个接收器,则可以在 [syslog][filelog]、 和 [eventlog]配置文件中使用 filenamelevel选项的相应部分自定义它们。

    默认值filelog 如果部分 logging_folder中不为空否则。 [DEFAULT]consolelog

  • unknown_config_option=string

    介绍 8.0.29
    类型 细绳
    默认值 error
    有效值

    error

    warning

    确定处理未知配置选项的行为,例如包含拼写错误的配置选项。以下是此选项采用的值:

    • error(默认):遇到未知选项时mcmd 返回错误

    • warning: mcmd在遇到未知选项时打印警告并继续启动

    8.0.29 之前的 MySQL Cluster Manager 版本忽略任何未知的配置选项。

  • --version,-V

    命令行格式 --version

    显示版本信息并退出。输出可能因 MySQL Cluster Manager 软件版本、操作平台和系统上使用的库版本而异,但应该与此处显示的内容非常相似,输出的第一行包含 MySQL Cluster Manager 版本号:

    $> mcmd  --version
    MySQL Cluster Manager  v8.0.31 on linux-glibc2.12 (64-bit) (MySQL Enterprise - Commercial)
  • xcom-port

    命令行格式 --xcom-port=#(≤ 8.0.30)
    类型 数字
    默认值 18620
    最小值 1
    最大值 65535

    指定 XCOM 端口。默认为 18620。

    对于 8.0.30 及更高版本:命令行格式--xcom-port 已被弃用。改用格式 --mcmd.xcom-port (优先于指定选项的所有其他方式),或在配置文件中指定选项(这两种方法都优先于已弃用的命令行格式)。