Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  ndb_drop_index — Drop Index from an NDB Table

25.5.10 ndb_drop_index — 从 NDB 表中删除索引

ndb_drop_index 从 NDB 表中删除指定的索引。建议仅将此实用程序用作编写 NDB API 应用程序的示例—请参阅本节中的警告以获取详细信息。

使用

ndb_drop_index -c connection_string table_name index -d db_name

上面的语句从 database 中的 table 中删除名为 index 的索引。

可以与 ndb_drop_index 一起使用的选项如下表所示。下表后面是详细描述。

表 25.31 与程序 ndb_drop_index 一起使用的命令行选项

Format Description Added, Deprecated, or Removed

--connect-retries=#

在放弃之前重试连接的次数

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--connect-retry-delay=#

在尝试联系管理服务器之间等待的秒数

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--connect-string=connection_string,

-c connection_string

与 --ndb-connectstring 相同

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--database=name,

-d name

表所在的数据库的名称

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--defaults-extra-file=path

在读取全局文件后读取给定的文件

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--defaults-file=path

仅从给定的文件中读取默认选项

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--defaults-group-suffix=string

也读取带有 concat(group, suffix) 的组

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--help,

-?

显示帮助文本并退出

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--login-path=path

从登录文件中读取给定的路径

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--no-login-paths

不从登录路径文件中读取登录路径

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--ndb-connectstring=connection_string,

-c connection_string

设置连接字符串以连接到 ndb_mgmd。语法:"[nodeid=id;][host=]hostname[:port]"。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--ndb-mgm-tls=level

ndb_mgm 客户端 TLS 要求级别

添加于:8.3.0

--ndb-mgmd-host=连接字符串,

-c 连接字符串

与 --ndb-connectstring 相同

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--ndb-nodeid=#

设置该节点的节点 ID,覆盖 --ndb-connectstring 设置的 ID

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--ndb-tls-search-path=列表

包含 TLS 密钥和证书的目录列表

添加于:8.3.0

--no-defaults

不从任何选项文件中读取默认选项,除了登录文件

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--print-defaults

打印程序参数列表并退出

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--usage,

-?

显示帮助文本并退出;同 --help

(在所有基于 MySQL 8.3 的 NDB 版本中支持)

--version,

-V

显示版本信息并退出

(在所有基于 MySQL 8.3 的 NDB 版本中支持)


  • --character-sets-dir

    Command-Line Format --character-sets-dir=路径

    包含字符集的目录。

  • --connect-retries

    Command-Line Format --connect-retries=整数
    Type 整数
    Default Value 12
    Minimum Value 0
    Maximum Value 12

    在放弃之前尝试连接的次数。

  • --connect-retry-delay

    Command-Line Format --connect-retry-delay=整数
    Type 整数
    Default Value 5
    Minimum Value 0
    Maximum Value 5

    在尝试联系管理服务器之间等待的秒数。

  • --connect-string

    Command-Line Format --connect-string=连接字符串
    Type 字符串
    Default Value [none]

    --ndb-connectstring 相同。

  • --core-file

    Command-Line Format --core-file

    在错误时写入核心文件;用于调试。

  • --database, -d

    Command-Line Format --database=名称
    Type 字符串
    Default Value TEST_DB

    表所在的数据库名称。

  • --defaults-extra-file

    Command-Line Format --defaults-extra-file=路径
    Type 字符串
    Default Value [none]

    在读取全局文件后读取给定的文件。

  • --defaults-file

    Command-Line Format --defaults-file=路径
    Type 字符串
    Default Value [none]

    仅从给定的文件中读取默认选项。

  • --defaults-group-suffix

    Command-Line Format --defaults-group-suffix=字符串
    Type 字符串
    Default Value [none]

    还读取带有后缀的组。

  • --help

    Command-Line Format --help

    显示帮助文本并退出。

  • --login-path

    Command-Line Format --login-path=路径
    Type 字符串
    Default Value [none]

    从登录文件中读取给定的路径。

  • --no-login-paths

    Command-Line Format --no-login-paths

    跳过从登录路径文件中读取选项。

  • --ndb-connectstring

    Command-Line Format --ndb-connectstring=连接字符串
    Type 字符串
    Default Value [none]

    设置连接到 ndb_mgmd 的连接字符串。语法:[nodeid=id;][host=]主机名[:端口]。覆盖 NDB_CONNECTSTRINGmy.cnf 中的条目。

  • --ndb-mgm-tls

    Command-Line Format --ndb-mgm-tls=级别
    Type 枚举
    Default Value relaxed
    Valid Values

    relaxed

    strict

    设置连接到管理服务器所需的 TLS 级别;可以是 relaxedstrictrelaxed(默认) 表示尝试 TLS 连接,但不要求成功;strict 表示需要 TLS 连接。

  • --ndb-mgmd-host

    Command-Line Format --ndb-mgmd-host=连接字符串
    Type 字符串
    Default Value [none]

    --ndb-connectstring 相同。

  • --ndb-nodeid

    Command-Line Format --ndb-nodeid=#
    Type 整数
    Default Value [none]

    设置当前节点的节点 ID,覆盖 --ndb-connectstring 中的 ID。

  • --ndb-optimized-node-selection

    Command-Line Format --ndb-optimized-node-selection

    启用事务节点选择的优化。默认启用;使用 --skip-ndb-optimized-node-selection 禁用。

  • --ndb-tls-search-path

    Command-Line Format --ndb-tls-search-path=列表
    Type 路径名
    Default Value (Unix) $HOME/ndb-tls
    Default Value (Windows) $HOMEDIR/ndb-tls

    指定要搜索的CA文件的目录列表。在 Unix 平台上,目录名称以冒号 (:) 分隔;在 Windows 系统上,使用分号字符 (;) 作为分隔符。目录引用可以是相对的或绝对的;它可以包含一个或多个环境变量,每个变量以美元符号 ($) 开头,并在使用前展开。

    搜索从左到右进行,直到找到文件。空字符串表示空搜索路径,导致所有搜索失败。点 (.) 表示搜索路径仅限于当前工作目录。

    如果没有提供搜索路径,将使用编译时的默认值。该值取决于平台:在 Windows 上是 \ndb-tls;在其他平台(包括 Linux)上是 $HOME/ndb-tls。这可以通过使用 -DWITH_NDB_TLS_SEARCH_PATH 编译 NDB 集群来覆盖。

  • --no-defaults

    Command-Line Format --no-defaults

    不要从任何选项文件中读取默认选项,除了登录文件。

  • --print-defaults

    Command-Line Format --print-defaults

    打印程序参数列表并退出。

  • --usage

    Command-Line Format --usage

    显示帮助文本并退出;与 --help相同。

  • --version

    Command-Line Format --version

    显示版本信息并退出。

Warning

使用 NDB API 在集群表索引上的操作对 MySQL 是不可见的,并使表对 MySQL 服务器不可用。如果您使用该程序删除索引,然后尝试从 SQL 节点访问表,将出现错误,如下所示:

$> ./ndb_drop_index -c localhost dogs ix -d ctest1
Dropping index dogs/idx...OK

NDBT_ProgramExit: 0 - OK

$> ./mysql -u jon -p ctest1
Enter password: *******
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7 to server version: 5.7.44-ndb-7.5.32

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> SHOW TABLES;
+------------------+
| Tables_in_ctest1 |
+------------------+
| a                |
| bt1              |
| bt2              |
| dogs             |
| employees        |
| fish             |
+------------------+
6 rows in set (0.00 sec)

mysql> SELECT * FROM dogs;
ERROR 1296 (HY000): Got error 4243 'Index not found' from NDBCLUSTER

在这种情况下,您的 唯一 选项是删除表并重新创建它。您可以使用 SQL 语句DROP TABLEndb_drop_table 实用程序(见 第 25.5.11 节,“ndb_drop_table — 删除 NDB 表”)来删除表。