• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ndb_drop_index — NDB表中的删除索引

    ndb_drop_indexNDB表中删除指定的索引。建议您仅将此实用程序用作编写NDB API应用程序的示例-有关详细信息,请参阅本节后面的警告。

    用法

    ndb_drop_index -c connection_string table_name index -d db_name
    

    上面显示的语句删除名为该指数indextabledatabase

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

    ndb_drop_index程序的命令行选项

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

    --database=dbname

    -d

    在其中找到表的数据库的名称

    (在所有基于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 TABLEndb_drop_table实用程序(请参见“ndb_drop_table —删除NDB表”)来删除表。