• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ndb_config-提取NDB群集配置信息

    该工具从以下多个来源之一中提取数据节点,SQL节点和API节点的当前配置信息:NDB群集管理节点config.ini或其my.cnf文件。默认情况下,管理节点是配置数据的源。要覆盖默认值,请使用--config-file--mycnf选项执行ndb_config 。通过使用指定数据节点的节点ID,也可以将数据节点用作源。--config_from_node=node_id

    ndb_config还可以提供所有可用配置参数的脱机转储,以及它们的默认值,最大值和最小值以及其他信息。可以以文本或XML格式生成转储。有关更多信息,请参阅本节后面有关--configinfo--xml选项的讨论。

    您可以过滤通过部分结果(DBSYSTEMCONNECTIONS使用其中的一个选项)--nodes--system--connections

    下表包含特定于ndb_config的选项。附加说明如下表。有关大多数NDB群集程序(包括ndb_config)通用的选项,请参见“ NDB群集程序的通用选项-NDB群集程序的通用选项”。

    ndb_config程序的命令行选项

    格式描述添加,不建议使用或删除

    --config-file=file_name

    将路径设置为config.ini文件

    (在所有基于MySQL 8.0的版本中受支持)

    --config-from-node=#

    从具有此ID的节点(必须是数据节点)获取配置数据

    (在所有基于MySQL 8.0的版本中受支持)

    --configinfo

    以文本格式转储有关所有NDB配置参数的信息,包括默认值,最大值和最小值。与--xml一起使用以获取XML输出

    (在所有基于MySQL 8.0的版本中受支持)

    --connections

    仅打印连接信息(集群配置文件的[tcp],[tcp默认],[sci],[sci默认],[shm]或[shm默认]部分)。不能与--system或--nodes一起使用

    (在所有基于MySQL 8.0的版本中受支持)

    --diff-default

    仅打印具有非默认值的配置参数

    (在所有基于MySQL 8.0的版本中受支持)

    --fields=string

    -f

    场分隔符

    (在所有基于MySQL 8.0的版本中受支持)

    --host=name

    指定主机

    (在所有基于MySQL 8.0的版本中受支持)

    --mycnf

    从my.cnf文件读取配置数据

    (在所有基于MySQL 8.0的版本中受支持)

    --nodeid

    获取具有此ID的节点的配置

    (在所有基于MySQL 8.0的版本中受支持)

    --nodes

    仅打印节点信息(群集配置文件的[ndbd]或[ndbd默认]部分)。不能与--system或--connections一起使用

    (在所有基于MySQL 8.0的版本中受支持)

    -c

    --ndb-connectstring的缩写

    (在所有基于MySQL 8.0的版本中受支持)

    --query=string

    -q

    一个或多个查询选项(属性)

    (在所有基于MySQL 8.0的版本中受支持)

    --query-all

    -a

    将所有参数和值转储到单个逗号分隔的字符串中

    (在所有基于MySQL 8.0的版本中受支持)

    --rows=string

    -r

    行分隔符

    (在所有基于MySQL 8.0的版本中受支持)

    --system

    仅显示SYSTEM部分的信息(请参阅ndb_config --configinfo输出)。不能与--nodes或--connections一起使用

    (在所有基于MySQL 8.0的版本中受支持)

    --type=name

    指定节点类型

    (在所有基于MySQL 8.0的版本中受支持)

    --configinfo --xml

    将--xml和--configinfo结合使用,以XML格式获取所有NDB配置参数的转储,其中包含默认值,最大值和最小值

    (在所有基于MySQL 8.0的版本中受支持)


    • --configinfo

      --configinfo选项使ndb_config转储由ndb_config组成的NDB Cluster发行版支持的每个NDB Cluster配置参数的列表,包括以下信息:

      • 每个参数的用途,效果和用法的简要说明
      • config.ini文件中可以使用参数的部分
      • 参数的数据类型或度量单位
      • 如果适用,参数的默认值,最小值和最大值
      • NDB Cluster发行版本和内部版本信息

      默认情况下,此输出为文本格式。此输出的一部分显示在此处:

      shell>ndb_config --configinfo
      
      ****** SYSTEM ******
      
      Name (String)
      Name of system (NDB Cluster)
      MANDATORY
      
      PrimaryMGMNode (Non-negative Integer)
      Node id of Primary ndb_mgmd(MGM) node
      Default: 0 (Min: 0, Max: 4294967039)
      
      ConfigGenerationNumber (Non-negative Integer)
      Configuration generation number
      Default: 0 (Min: 0, Max: 4294967039)
      
      ****** DB ******
      
      MaxNoOfSubscriptions (Non-negative Integer)
      Max no of subscriptions (default 0 == MaxNoOfTables)
      Default: 0 (Min: 0, Max: 4294967039)
      
      MaxNoOfSubscribers (Non-negative Integer)
      Max no of subscribers (default 0 == 2 * MaxNoOfTables)
      Default: 0 (Min: 0, Max: 4294967039)
      
      …
      

      将此选项与该选项一起使用--xml可获取XML格式的输出。

    • --config-file=path-to-file

      属性
      命令行格式--config-file=file_name
      类型文件名
      默认值

      提供管理服务器的配置文件(config.ini)的路径。这可能是相对或绝对路径。如果管理节点与调用ndb_config的主机位于不同的主机上,则必须使用绝对路径。

    • --config_from_node=#

      属性
      命令行格式--config-from-node=#
      类型数字
      默认值none
      最低值1
      最大值48

      从具有此ID的数据节点获取集群的配置数据。

      如果具有该ID的节点不是数据节点,则ndb_config失败并显示错误。(相反,要从管理节点获取配置数据,只需忽略此选项。)

    • --connections

      属性
      命令行格式--connections
      类型布尔型
      默认值FALSE

      告诉ndb_config打印CONNECTIONS信息只,也就是说,有关参数的信息中所找到的[tcp][tcp default][shm],或[shm default]群集配置文件的部分(参见第22.3.3.10“NDB簇TCP / IP连接”,和第22.3.3.12“NDB群集共享内存连接”,以获取更多信息)。

      此选项与--nodes和互斥--system。这三个选项只能使用其中之一。

    • --diff-default

      属性
      命令行格式--diff-default
      类型布尔型
      默认值FALSE

      仅打印具有非默认值的配置参数。

    • --fields=delimiter-fdelimiter

      属性
      命令行格式--fields=string
      类型string
      默认值

      指定delimiter用于分隔结果中的字段的字符串。默认值为,(逗号字符)。

      注意

      如果delimiter包含空格或转义\n符(例如换行符),则必须用引号引起来。

    • --host=hostname

      属性
      命令行格式--host=name
      类型string
      默认值

      指定要获取其配置信息的节点的主机名。

      注意

      尽管主机名localhost通常解析为IP地址127.0.0.1,但不一定对所有操作平台和配置都正确。这意味着,如果ndb_config在解析为不同地址的其他主机上运行(例如,在某些版本的SUSE Linux上),则将ndb_configlocalhost用于时config.inindb_config --host=localhost可能会失败。localhost127.0.0.2)。通常,为了获得最佳结果,应为所有与主机相关的NDB Cluster值使用数字IP地址,或验证所有NDB Cluster主机localhost以相同的方式处理。

    • --mycnf

      属性
      命令行格式--mycnf
      类型布尔型
      默认值FALSE

      my.cnf文件中读取配置数据。

    • --ndb-connectstring=connection_string-c connection_string

      属性
      命令行格式

      --ndb-connectstring=connectstring

      --connect-string=connectstring

      类型string
      默认值localhost:1186

      指定用于连接到管理服务器的连接字符串。连接字符串的格式与“ NDB群集连接字符串”中所述相同,默认为localhost:1186

    • --nodeid=node_id

      属性
      命令行格式--ndb-nodeid=#
      类型数字
      默认值0

      指定要获取其配置信息的节点的节点ID。

    • --nodes

      属性
      命令行格式--nodes
      类型布尔型
      默认值FALSE

      告诉ndb_config打印仅与集群配置文件[ndbd][ndbd default]部分中定义的参数有关的信息(请)。

      此选项与--connections和互斥--system。这三个选项只能使用其中之一。

    • --query=query-options-qquery-options

      属性
      命令行格式--query=string
      类型string
      默认值

      这是一个用逗号分隔的查询选项列表,即要返回的一个或多个节点属性的列表。这些包括nodeid(节点ID),类型(节点类型,也就是说,ndbdmysqld,或ndb_mgmd),并且任何配置参数,其值要被获得。

      例如,--query=nodeid,type,datamemory,datadir返回每个节点的节点ID,节点类型DataMemoryDataDir

      注意

      如果给定参数不适用于某种类型的节点,则将为相应的值返回一个空字符串。有关更多信息,请参见本节后面的示例。

    • --query-all-a

      属性
      命令行格式--query-all
      类型string
      默认值

      返回所有查询选项(节点属性)的逗号分隔列表;请注意,该列表是单个字符串。

    • --rows=separator-rseparator

      属性
      命令行格式--rows=string
      类型string
      默认值

      指定separator用于分隔结果中的行的字符串。默认为空格字符。

      注意

      如果separator包含空格或转义\n符(例如换行符),则必须用引号引起来。

    • --system

      属性
      命令行格式--system
      类型布尔型
      默认值FALSE

      告诉ndb_configSYSTEM仅打印信息。它由无法在运行时更改的系统变量组成;因此,集群配置文件中没有对应的部分。****** SYSTEM ******ndb_config的输出中可以看到它们(带有)--configinfo

      此选项与--nodes和互斥--connections。这三个选项只能使用其中之一。

    • --type=node_type

      属性
      命令行格式--type=name
      类型列举
      默认值[none]
      有效值

      ndbd

      mysqld

      ndb_mgmd

      过滤的结果,从而使施加到指定的节点只配置值node_typendbdmysqld,或ndb_mgmd)被返回。

    • --usage--help-?

      属性
      命令行格式

      --help

      --usage

      使ndb_config打印可用选项列表,然后退出。

    • --version-V

      属性
      命令行格式--version

      使ndb_config打印版本信息字符串,然后退出。

    • --configinfo--xml

      属性
      命令行格式--configinfo --xml
      类型布尔型
      默认值false

      原因ndb_config--configinfo加入这个选项提供的XML输出。此示例显示了部分此类输出:

      shell>ndb_config --configinfo --xml
      
      <configvariables protocolversion="1" ndbversionstring="5.7.29-ndb-7.5.17"
                          ndbversion="460032" ndbversionmajor="7" ndbversionminor="5"
                          ndbversionbuild="0">
        <section name="SYSTEM">
          <param name="Name" comment="Name of system (NDB Cluster)" type="string"
                    mandatory="true"/>
          <param name="PrimaryMGMNode" comment="Node id of Primary ndb_mgmd(MGM) node"
                    type="unsigned" default="0" min="0" max="4294967039"/>
          <param name="ConfigGenerationNumber" comment="Configuration generation number"
                    type="unsigned" default="0" min="0" max="4294967039"/>
        </section>
        <section name="MYSQLD" primarykeys="NodeId">
          <param name="wan" comment="Use WAN TCP setting as default" type="bool"
                    default="false"/>
          <param name="HostName" comment="Name of computer for this node"
                    type="string" default=""/>
          <param name="Id" comment="NodeId" type="unsigned" mandatory="true"
                    min="1" max="255" deprecated="true"/>
          <param name="NodeId" comment="Number identifying application node (mysqld(API))"
                    type="unsigned" mandatory="true" min="1" max="255"/>
          <param name="ExecuteOnComputer" comment="HostName" type="string"
                    deprecated="true"/>
      
          …
      
        </section>
      
        …
      
      </configvariables>
      
      注意

      通常,由ndb_config生成的XML输出的--configinfo--xml格式是每个元素一行。为了清晰起见,我们在上一个示例以及下一个示例中添加了额外的空格。这与使用此输出的应用程序没有任何区别,因为大多数XML处理器要么理所当然地忽略了不必要的空格,要么可以被指示这样做。

      XML输出还指示在更改给定参数时要求使用该--initial选项重新启动数据节点。这通过initial="true"相应<param>元素中存在属性来表明。另外,还显示了重启类型(systemnode)。如果给定参数需要系统重启,则通过restart="system"在相应<param>元素中存在属性来指示。例如,更改Diskless参数设置的值需要重新启动系统,如下所示(使用restartinitial突出显示属性以提高可见性):

      <param name="Diskless" comment="Run wo/ disk" type="bool" default="false"
                restart="system" initial="true"/>
      

      当前,initialXML输出中<param>没有与不需要初始重启的参数相对应的元素的属性;换句话说,initial="false"它是默认值,false如果属性不存在,则应采用该值。同样,默认重新启动类型为node(即集群的联机或“滚动”重新启动),但是restart仅当重新启动类型为system(意味着必须同时关闭所有集群节点,然后再关闭)时才包含该属性。重新启动)。

      不推荐使用的参数在XML输出中由deprecated属性指示,如下所示:

      <param name="NoOfDiskPagesToDiskAfterRestartACC" comment="DiskCheckpointSpeed"
             type="unsigned" default="20" min="1" max="4294967039" deprecated="true"/>
      

      在这种情况下,comment指的是一个或多个取代已弃用参数的参数。与相似initialdeprecated仅当不推荐使用参数时,才使用指示属性deprecated="true",而对于不推荐使用的参数则完全不出现。(缺陷号21127135)

      从NDB 7.5.0开始,所需的参数用表示mandatory="true",如下所示:

      <param name="NodeId"
                comment="Number identifying application node (mysqld(API))"
                type="unsigned" mandatory="true" min="1" max="255"/>
      

      与仅针对需要初始重启或已弃用的参数显示initialor deprecated属性的方式几乎相同,mandatory仅当实际需要给定参数时才包含该属性。

      重要

      --xml选件只能与该--configinfo选件一起使用。使用--xml不带--configinfo失败会出现错误。

      与该程序用于获取当前配置数据的选项不同,--configinfo并且在编译ndb_config--xml时使用从NDB群集源获取的信息。因此,这两个选项不需要连接到正在运行的NDB群集,也不需要访问或文件。config.inimy.cnf

    不支持将其他ndb_config选项(例如--query--type)与--configinfo(带有或不带有该--xml选项)结合使用。当前,如果尝试这样做,通常的结果是除--configinfo或之外的所有其他选项--xml都将被忽略。但是,不能保证此行为并须随时变化。此外,由于ndb_config,与使用时--configinfo的选项,不访问NDB集群或读取任何文件,试图指定其他选项,如--ndb-connectstring--config-file--configinfo无济于事。

    例子

    1. 要获取集群中每个节点的节点ID和类型:

      shell> ./ndb_config --query=nodeid,type --fields=':' --rows='\n'
      1:ndbd
      2:ndbd
      3:ndbd
      4:ndbd
      5:ndb_mgmd
      6:mysqld
      7:mysqld
      8:mysqld
      9:mysqld
      

      在此示例中,我们使用--fields选项用冒号(:)分隔每个节点的ID和类型,并使用--rows选项将每个节点的值放在输出中的新行上。

    2. 要产生一个连接字符串,数据,SQL和API节点可以使用该连接字符串来连接到管理服务器:

      shell> ./ndb_config --config-file=usr/local/mysql/cluster-data/config.ini \
      --query=hostname,portnumber --fields=: --rows=, --type=ndb_mgmd
      198.51.100.179:1186
      
    3. 调用ndb_config只会检查数据节点(使用该--type选项),并显示每个节点的ID和主机名的值,以及为其DataMemoryDataDir参数设置的值:

      shell> ./ndb_config --type=ndbd --query=nodeid,host,datamemory,datadir -f ' : ' -r '\n'
      1 : 198.51.100.193 : 83886080 : /usr/local/mysql/cluster-data
      2 : 198.51.100.112 : 83886080 : /usr/local/mysql/cluster-data
      3 : 198.51.100.176 : 83886080 : /usr/local/mysql/cluster-data
      4 : 198.51.100.119 : 83886080 : /usr/local/mysql/cluster-data
      

      在此示例中,我们分别使用short选项-f-r设置字段定界符和行分隔符,以及使用short选项-q传递要获取的参数列表。

    4. 要从任何主机(特别是主机)中排除结果,请使用以下--host选项:

      shell> ./ndb_config --host=198.51.100.176 -f : -r '\n' -q id,type
      3:ndbd
      5:ndb_mgmd
      

      在此示例中,我们还使用简写形式-q来确定要查询的属性。

      同样,您可以使用该--nodeid选项将结果限制为具有特定ID的节点。