ndb_drop_index — NDB表中的删除索引
ndb_drop_index从NDB
表中删除指定的索引。建议您仅将此实用程序用作编写NDB API应用程序的示例-有关详细信息,请参阅本节后面的警告。
用法
ndb_drop_index -c connection_string table_name index -d db_name
上面显示的语句删除名为该指数index
从table
的database
。
下表包含特定于ndb_drop_index的选项。附加说明如下表。有关大多数NDB群集程序通用的选项(包括ndb_drop_index),请参见“ NDB群集程序通用的选项— NDB群集程序通用的选项”。
ndb_drop_index程序的命令行选项
格式 | 描述 | 添加,不建议使用或删除 |
---|---|---|
| 在其中找到表的数据库的名称 | (在所有基于MySQL 8.0的版本中受支持) |
警告使用NDB API对群集表索引执行的操作对MySQL不可见,并使该表无法被MySQL服务器使用。如果使用此程序删除索引,请尝试从SQL节点访问表,从而导致错误,如下所示:
shell>./ndb_drop_index -c localhost dogs ix -d ctest1 Dropping index dogs/idx...OK NDBT_ProgramExit: 0 - OK shell>./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.29-ndb-7.5.17 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实用程序(请参见“ndb_drop_table —删除NDB表”)来删除表。