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

3.1  mcmd,MySQL Cluster Manager Agent

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

您可以通过指定本节中讨论的一个或多个选项,以多种不同的方式修改代理的行为。这些选项中的大多数都可以在命令行或代理配置文件(通常是 etc/mcmd.ini)中指定。(一些例外情况包括 --defaults-file--bootstrap选项,如果使用它们,则必须在命令行中指定,并且它们相互排斥。)例如,您可以将代理的集群日志记录级别设置为而不是其中任何一个中warning 的默认值message以下两种方式之一:

  • 调用mcmd时 包含--log-level=warning在命令行中。

    笔记

    在命令行上指定代理配置选项时,选项名称以两个前导短划线字符 ( --) 为前缀。

  • 在代理配置文件中包含以下行:

    log-level=warning
    笔记

    您可以使用mcm客户端change log-level命令 在运行时更改日志记录级别 。

    在配置文件中使用时,选项的名称不应以任何其他字符为前缀。每个选项必须在单独的行中指定。您可以通过插入前导哈希字符 ( ) 来注释掉所有给定行#,如下所示:

    #log-level=warning

    你也可以用这种方式注释掉一行的一部分;该字符之后的任何文本都将#被忽略,直到当前行的末尾。

下表包含mcmd在启动时读取的代理选项的摘要。有关每个选项的更多详细信息,例如允许的值范围,可以在表后面的列表中找到。

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

选项名称 描述 介绍
--agent-uuid 设置代理的UUID;仅在同一主机上运行多个代理进程时才需要
--basedir 在配置中用作相对路径前缀的目录
--bootstrap 在启动时引导默认集群
--复制端口 指定文件复制操作的端口 1.4.2
--daemon 以守护进程模式运行。该选项仅适用于 Linux 和其他类 Unix 平台
--defaults-文件 要使用的配置文件
--事件线程 要使用的事件处理程序线程数
- 帮助 显示应用程序选项
--help-all 显示所有选项(应用程序选项和管理器模块选项)
--help-manager 显示管理器模块选项
- 最初的 备份后擦除代理配置存储中的内容 1.4.7
- 活着 如果发生崩溃,请尝试重新启动 mcmd。该选项仅适用于 Linux 和其他类 Unix 平台
--log-backtrace-on-crash 发生崩溃时尝试加载调试器
--日志文件 写入日志的文件名
--日志级别 设置 mcmd 日志级别
--log-use-syslog 记录到系统日志
--经理目录 用于管理器数据存储的目录
--管理员密码 mcmd 用户帐户的密码
--管理端口 连接到管理器时客户端使用的端口
--manager-用户名 mcmd 用户帐户的用户名
--最大打开文件 最大打开文件数(ulimit -n)
--pid 文件 指定 PID 文件(如果作为守护进程运行则使用)
--插件目录 查找插件的目录
--插件 以逗号分隔的要加载的插件列表;必须包括“经理”
--详细关机 关闭时始终记录退出代码
- 版本 显示管理器版本
--xcom-端口 指定 XCOM 端口

MySQL Cluster Manager Agent ( mcmd) 选项说明

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

  • --agent-uuid=uuid

    命令行格式 --agent-uuid=uuid
    类型 细绳
    默认值 [set internally]

    为此代理设置 UUID。通常这个值是自动设置的,只有在同一台主机上 运行多个mcmd进程时才需要指定。

  • --basedir=dir_name

    命令行格式 --basedir=dir_name
    类型 目录名称
    默认值 .

    包含路径的目录用作配置中相对路径的前缀。

  • --bootstrap

    命令行格式 --bootstrap

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

  • --copy-port

    命令行格式 --copy-port=#
    介绍 1.4.2
    类型 数字
    默认值 0
    最小值 0
    最大值 65535

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

  • --daemon

    命令行格式 --daemon
    特定于平台 Linux

    将 mcmd作为守护进程 运行。

  • --defaults-file=filename

    命令行格式 --defaults-file=file_name
    类型 文件名
    默认值 etc/mcmd.ini

    设置从中读取配置选项的文件。默认值为etc/mcmd.ini。有关详细信息,请参阅 第 2.4 节,“MySQL 集群管理器配置文件”

  • --event-threads=#

    命令行格式 --event-threads=#
    类型 数字
    默认值 1
    最小值 1
    最大值 [system dependent]

    要使用的事件处理程序线程数。默认值为 1,这足以满足大多数正常操作。

  • --help,-?

    命令行格式 --help

    mcmd帮助输出分为 应用程序管理器部分。当与 mcmd一起使用时,--help会导致显示 应用程序选项,如下所示:

    $> mcmd --help
    Usage:
      mcmd [OPTION...] - MySQL Cluster Manager
    
    Help Options:
      -?, --help                          Show help options
      --help-all                          Show all help options
      --help-manager                      Show options for the manager-module
    
    Application Options:
      -V, --version                       Show version
      --defaults-file=<file>              configuration file
      --verbose-shutdown                  Always log the exit code when shutting down
      --daemon                            Start in daemon-mode
      --basedir=<absolute path>           Base directory to prepend to relative paths in the config
      --pid-file=<file>                   PID file in case we are started as daemon
      --plugin-dir=<path>                 Path to the plugins
      --plugins=<name>                    Plugins to load
      --log-level=<string>                Log all messages of level ... or higher
      --log-file=<file>                   Log all messages in a file
      --log-use-syslog                    Log all messages to syslog
      --log-backtrace-on-crash            Try to invoke debugger on crash
      --keepalive                         Try to restart mcmd if it crashed
      --max-open-files                    Maximum number of open files (ulimit -n)
      --event-threads                     Number of event-handling threads (default: 1)
  • --help-all

    命令行格式 --help-all

    mcmd帮助输出分为 应用程序管理器部分。与 一起使用时 --help-allmcmd会同时显示应用程序管理器选项,如下所示:

    $> mcmd --help-all
    Usage:
      mcmd [OPTION...] - MySQL Cluster Manager
    
    Help Options:
      -h, --help                          Show help options
      --help-all                          Show all help options
      --help-manager                      Show options for the manager-module
    
    manager-module
      --bootstrap                         Bootstrap a cluster on localhost on initial startup
      --copy-port=<copy_port>             Port for file copy operations (default: 0)
      --initial                           Wipes the repository files after making a backup
      --manager-directory=<directory>     Path to mcmd config information
      --manager-password=<password>       Password for the mcmd user-account (default: super)
      --manager-port=<client_port>        Port to contact the mcmd (default: 1862)
      --manager-username=<username>       Username for the mcmd user-account (default: mcmd)
      --xcom-port=<xcom_port>             Xcom port for mcmds to communicate (default: 18620)
    
    Application Options:
      -V, --version                       Show version
      --defaults-file=<file>              configuration file
      --verbose-shutdown                  Always log the exit code when shutting down
      --daemon                            Start in daemon-mode
      --basedir=<absolute path>           Base directory to prepend to relative paths in the config
      --pid-file=<file>                   PID file in case we are started as daemon
      --plugin-dir=<path>                 Path to the plugins
      --plugins=<name>                    Plugins to load
      --log-level=<string>                Log all messages of level ... or higher
      --log-file=<file>                   Log all messages in a file
      --log-use-syslog                    Log all messages to syslog
      --log-backtrace-on-crash            Try to invoke debugger on crash
      --keepalive                         Try to restart mcmd if it crashed
      --max-open-files                    Maximum number of open files (ulimit -n)
      --event-threads                     Number of event-handling threads (default: 1)
  • --help-manager

    命令行格式 --help-manager

    mcmd帮助输出分为 应用程序管理器部分。与 一起使用时 --help-managermcmd 显示管理器选项,如下所示:

    $> mcmd --help-manager
    Usage:
      mcmd [OPTION...] - MySQL Cluster Manager
    
    manager-module
      --bootstrap                         Bootstrap a cluster on localhost on initial startup
      --copy-port=<copy_port>             Port for file copy operations (default: 0)
      --initial                           Wipes the repository files after making a backup
      --manager-directory=<directory>     Path to mcmd config information
      --manager-password=<password>       Password for the mcmd user-account (default: super)
      --manager-port=<client_port>        Port to contact the mcmd (default: 1862)
      --manager-username=<username>       Username for the mcmd user-account (default: mcmd)
      --xcom-port=<xcom_port>             Xcom port for mcmds to communicate (default: 18620)
  • --initial

    命令行格式 --initial
    介绍 1.4.7

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

  • --keepalive

    命令行格式 --keepalive
    特定于平台 Linux

    使用此选项可使 mcmd 在发生崩溃时尝试重新启动。

  • --log-backtrace-on-crash

    命令行格式 --log-backtrace-on-crash

    尝试在发生崩溃时加载调试器。通常不用于生产。

  • --log-file=filename

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

    设置要写入日志的文件的名称。默认 mcmd.log在安装目录中。在 Linux 和其他类 Unix 平台上,可以使用相对路径;这与 MySQL Cluster Manager 安装目录相关,与binetc子目录无关。在 Windows 上,您必须使用绝对路径,并且不能包含任何空格;此外,您必须\用正斜杠 ( /) 替换路径中的所有反斜杠 ( ) 字符。

  • --log-level=level

    命令行格式 --log-level=level
    类型 枚举
    默认值 message
    有效值

    critical

    error

    warning

    message

    info

    debug

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

    表 3.2 MySQL Cluster Manager 代理日志级别

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

    您还可以使用带有mcm客户端的命令mcmd在运行时更改日志记录级别 。虽然该 选项的设置仅应用于其mcmd代理使用该选项的主机(在命令行或配置文件中),但 客户端命令可用于将日志记录级别应用于整个管理站点或特定主机。 change log-level--log-levelchange log-level

  • --log-use-syslog

    命令行格式 --log-use-syslog

    将日志记录输出写入系统日志。

  • --manager-directory=dir_name

    命令行格式 --manager-directory=dir
    类型 目录名称
    默认值 ../mcm_data (relative to the installation directory of MySQL Cluster Manager)

    设置代理存储库的位置,其中包含 MySQL Cluster Manager 数据文件和 MySQL NDB Cluster 配置和数据文件的集合。该值必须是有效的绝对路径。在 Linux 上,如果目录不存在,则创建它;在 Windows 上,如果目录不存在,则必须创建该目录。此外,在 Windows 上,路径可能不包含任何空格或反斜杠 ( \) 字符;反斜杠必须替换为正斜杠 ( /)。

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

    除了 MySQL Cluster Manager 控制下的所有集群的数据文件外,manager-directory 还包含一个 保存mcmd配置和元数据的rep目录 。通常,除了在代理配置文件 ( ) 中指定的位置外,无需与这些目录进行交互 ;请参阅第 3.8 节“使用来自其他代理的数据恢复 MySQL Cluster Manager 代理”第 3.7 节“备份和恢复 MySQL Cluster Manager 代理”中的例外情况。 manager-directorymcmd.ini

  • --manager-port=#

    命令行格式 --manager-port=port
    类型 数字
    默认值 1862

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

    以前,除了端口号之外,此选项还可以选择使用主机名,但在 MySQL Cluster Manager 1.1.1 及更高版本中,不再接受主机名。

  • --manager-username=user_name

    该选项有以下两个目的:

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

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

    • 为mcmd代理程序用来访问 SQL 节点 的 MySQL 帐户设置用户名 。如果未指定该选项, mcmd则使用默认值。

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

  • --manager-password=password

    该选项有以下两个目的:

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

    • 为mcmd代理程序用来访问 SQL 节点 的 MySQL 帐户设置密码 。如果未指定该选项, super则使用默认值。

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

  • --max-open-files=#

    命令行格式 --max-open-files=#
    类型 数字
    默认值 1
    最小值 1
    最大值 [system dependent]

    设置打开文件的最大数量(与 ulimit -n一样)。

  • --pid-file=file

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

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

  • --plugin-dir

    命令行格式 --plugin-dir=dir_name
    类型 目录名称
    默认值 lib/mcmd

    设置搜索插件的目录。默认为 lib/mcmd, 在 MySQL Cluster Manager 安装目录下;通常不需要更改此设置。

  • --plugins

    命令行格式 --plugins=list
    类型 目录名称
    默认值 manager

    指定要在启动时加载的插件列表。要启用 MySQL Cluster Manager,此列表必须包括manager(默认值)。请注意,我们目前不使用plugins除 以外 的任何值测试 MySQL Cluster Manager manager。因此,我们建议在生产设置中使用默认值。

  • --verbose-shutdown

    命令行格式 --verbose-shutdown

    mcmd无论出于何种原因,无论何时关闭,都 强制记录退出代码。

  • --version,-V

    命令行格式 --version

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

    $> mcmd  --version
    MySQL Cluster Manager 1.4.8 (64bit)
      chassis: 0.8.5.15734304
      glib2: 2.44.0
      libevent: 2.1.11-stable
    -- modules
      manager: 1.4.8
  • --xcom-port

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

    允许您指定 XCOM 端口。默认为 18620。