ndb_drop_index从NDB表中删除指定的索引。建议您仅将此实用程序用作编写 NDB API 应用程序的示例——有关详细信息,请参阅本节后面的警告。
用法
ndb_drop_index -c connection_string table_name index -d db_name
上面显示的语句删除了从中命名
index的
table索引
database。
下表显示了 可以与ndb_drop_index一起使用的选项。表后有其他说明。
表 21.30 与程序 ndb_drop_index 一起使用的命令行选项
| 格式 | 描述 | 添加、弃用或删除 |
|---|---|---|
| 包含字符集的目录 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 放弃前重试连接的次数 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 尝试联系管理服务器之间等待的秒数 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 与 --ndb-connectstring 相同 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 写入核心文件出错;用于调试 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
|
在其中找到表的数据库的名称 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
| 读取全局文件后读取给定文件 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 仅从给定文件中读取默认选项 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 还阅读带有 concat(group, suffix) 的组 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 显示帮助文本并退出 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 从登录文件中读取给定路径 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 与 --ndb-connectstring 相同 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 为此节点设置节点 ID,覆盖 --ndb-connectstring 设置的任何 ID | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 为交易节点的选择启用优化。默认启用;使用 --skip-ndb-optimized-node-selection 禁用 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 不要从登录文件以外的任何选项文件中读取默认选项 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 打印程序参数列表并退出 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 显示帮助文本并退出;与 --help 相同 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
|
| 显示版本信息并退出 | (支持所有基于 MySQL 5.7 的 NDB 版本) |
-
命令行格式 --character-sets-dir=path包含字符集的目录。
-
命令行格式 --connect-retries=#类型 整数 默认值 12最小值 0最大值 12放弃前重试连接的次数。
-
命令行格式 --connect-retry-delay=#类型 整数 默认值 5最小值 0最大值 5尝试联系管理服务器之间等待的秒数。
-
命令行格式 --connect-string=connection_string类型 细绳 默认值 [none]与 相同
--ndb-connectstring。 -
命令行格式 --core-file写入核心文件出错;在调试中使用。
-
命令行格式 --database=name类型 细绳 默认值 TEST_DB表所在的数据库的名称。
-
命令行格式 --defaults-extra-file=path类型 细绳 默认值 [none]读取全局文件后读取给定文件。
-
命令行格式 --defaults-file=path类型 细绳 默认值 [none]仅从给定文件中读取默认选项。
-
命令行格式 --defaults-group-suffix=string类型 细绳 默认值 [none]还可以阅读带有 concat(group, suffix) 的组。
-
命令行格式 --help显示帮助文本并退出。
-
命令行格式 --login-path=path类型 细绳 默认值 [none]从登录文件中读取给定路径。
-
命令行格式 --ndb-connectstring=connection_string类型 细绳 默认值 [none]设置用于连接到 ndb_mgmd 的连接字符串。语法:“[nodeid=id;][host=]hostname[:port]”。覆盖 NDB_CONNECTSTRING 和 my.cnf 中的条目。
-
命令行格式 --ndb-mgmd-host=connection_string类型 细绳 默认值 [none]与 相同
--ndb-connectstring。 -
命令行格式 --ndb-nodeid=#类型 整数 默认值 [none]为此节点设置节点 ID,覆盖由 设置的任何 ID
--ndb-connectstring。 --ndb-optimized-node-selection命令行格式 --ndb-optimized-node-selection为交易节点的选择启用优化。默认启用;用于
--skip-ndb-optimized-node-selection禁用。-
命令行格式 --no-defaults不要从登录文件以外的任何选项文件中读取默认选项。
-
命令行格式 --print-defaults打印程序参数列表并退出。
-
命令行格式 --usage显示帮助文本并退出;一样
--help。 -
命令行格式 --version显示版本信息并退出。
使用 NDB API 对 Cluster 表索引执行的操作对 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.40-ndb-7.5.29
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
在这种情况下,使该表再次对 MySQL 可用的唯一选择是删除该表并重新创建它。您可以使用 SQL 语句DROP TABLE或
ndb_drop_table实用程序(请参阅
第 21.5.12 节,“ndb_drop_table — 删除 NDB 表”)删除表。