### 23.5.10 ndb\_drop\_index — Drop Index from an NDB Table

[]()

[**ndb\_drop\_index**](mysql-cluster-programs-ndb-drop-index.html) drops the specified index from an [`NDB`](mysql-cluster.html) table. *It is recommended that you use this utility only as an example for writing NDB API applications*—see the Warning later in this section for details.

#### Usage

```
ndb_drop_index -c connection_string table_name index -d db_name
```

 The statement shown above drops the index named *`index`* from the *`table`* in the *`database`*.

 Options that can be used with [**ndb\_drop\_index**](mysql-cluster-programs-ndb-drop-index.html) are shown in the following table. Additional descriptions follow the table.

[]()

**Table 23.32 Command-line options used with the program ndb\_drop\_index**

|                                                                                                                        Format                                                                                                                        |                                                                  Description                                                                   |           Added, Deprecated, or Removed           |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------|
|                                                                 ` [--character-sets-dir=path](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_character-sets-dir) `                                                                 |                                                      Directory containing character sets                                                       | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                     ` [--connect-retries=#](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-retries) `                                                                      |                                              Number of times to retry connection before giving up                                              | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                 ` [--connect-retry-delay=#](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-retry-delay) `                                                                  |                                    Number of seconds to wait between attempts to contact management server                                     | (Supported in all NDB releases based on MySQL 8.0)|
|    `[--connect-string=connection_string](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-string)`,<br/><br/>` [-c connection_string](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_connect-string) `     |                                                          Same as --ndb-connectstring                                                           | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                            ` [--core-file](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_core-file) `                                                                             |                                                  Write core file on error; used in debugging                                                   | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                                                        `--database=name`,<br/><br/>`-d name`                                                                                                         |                                                    Name of database in which table is found                                                    | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                ` [--defaults-extra-file=path](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_defaults-extra-file) `                                                                |                                                  Read given file after global files are read                                                   | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                      ` [--defaults-file=path](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_defaults-file) `                                                                      |                                                   Read default options from given file only                                                    | (Supported in all NDB releases based on MySQL 8.0)|
|                                                             ` [--defaults-group-suffix=string](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_defaults-group-suffix) `                                                             |                                                  Also read groups with concat(group, suffix)                                                   | (Supported in all NDB releases based on MySQL 8.0)|
|                                     `[--help](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_help)`,<br/><br/>` [-?](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_help) `                                      |                                                           Display help text and exit                                                           | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                         ` [--login-path=path](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_login-path) `                                                                         |                                                        Read given path from login file                                                         | (Supported in all NDB releases based on MySQL 8.0)|
|`[--ndb-connectstring=connection_string](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-connectstring)`,<br/><br/>` [-c connection_string](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-connectstring) `|Set connect string for connecting to ndb\_mgmd. Syntax: "[nodeid=id;][host=]hostname[:port]". Overrides entries in NDB\_CONNECTSTRING and my.cnf| (Supported in all NDB releases based on MySQL 8.0)|
|      `[--ndb-mgmd-host=connection_string](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-mgmd-host)`,<br/><br/>` [-c connection_string](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-mgmd-host) `      |                                                          Same as --ndb-connectstring                                                           | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                          ` [--ndb-nodeid=#](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-nodeid) `                                                                           |                                    Set node ID for this node, overriding any ID set by --ndb-connectstring                                     | (Supported in all NDB releases based on MySQL 8.0)|
|                                                         ` [--ndb-optimized-node-selection](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-optimized-node-selection) `                                                          |      Enable optimizations for selection of nodes for transactions. Enabled by default; use --skip-ndb-optimized-node-selection to disable      | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                          ` [--no-defaults](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_no-defaults) `                                                                           |                                     Do not read default options from any option file other than login file                                     | (Supported in all NDB releases based on MySQL 8.0)|
|                                                                       ` [--print-defaults](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_print-defaults) `                                                                        |                                                      Print program argument list and exit                                                      | (Supported in all NDB releases based on MySQL 8.0)|
|                                    `[--usage](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_usage)`,<br/><br/>` [-?](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_usage) `                                    |                                                   Display help text and exit; same as --help                                                   | (Supported in all NDB releases based on MySQL 8.0)|
|                                 `[--version](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_version)`,<br/><br/>` [-V](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_version) `                                 |                                                      Display version information and exit                                                      | (Supported in all NDB releases based on MySQL 8.0)|

* []() `--character-sets-dir`

  []()[]()

  |Command-Line Format|`--character-sets-dir=path`|
  |-------------------|---------------------------|

   Directory containing character sets.

* []() `--connect-retries`

  []()[]()

  |Command-Line Format|`--connect-retries=#`|
  |-------------------|---------------------|
  |       Type        |       Integer       |
  |   Default Value   |        `12`         |
  |   Minimum Value   |         `0`         |
  |   Maximum Value   |        `12`         |

   Number of times to retry connection before giving up.

* []() `--connect-retry-delay`

  []()[]()

  |Command-Line Format|`--connect-retry-delay=#`|
  |-------------------|-------------------------|
  |       Type        |         Integer         |
  |   Default Value   |           `5`           |
  |   Minimum Value   |           `0`           |
  |   Maximum Value   |           `5`           |

   Number of seconds to wait between attempts to contact management server.

* []() `--connect-string`

  []()[]()

  |Command-Line Format|`--connect-string=connection_string`|
  |-------------------|------------------------------------|
  |       Type        |               String               |
  |   Default Value   |              `[none]`              |

   Same as [`--ndb-connectstring`](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-connectstring).

* []() `--core-file`

  []()[]()

  |Command-Line Format|`--core-file`|
  |-------------------|-------------|

   Write core file on error; used in debugging.

* []() `--database`, `-d`

  []()[]()

  |Command-Line Format|`--database=name`|
  |-------------------|-----------------|
  |       Type        |     String      |
  |   Default Value   |    `TEST_DB`    |

   Name of the database in which the table resides.

* []() `--defaults-extra-file`

  []()[]()

  |Command-Line Format|`--defaults-extra-file=path`|
  |-------------------|----------------------------|
  |       Type        |           String           |
  |   Default Value   |          `[none]`          |

   Read given file after global files are read.

* []() `--defaults-file`

  []()[]()

  |Command-Line Format|`--defaults-file=path`|
  |-------------------|----------------------|
  |       Type        |        String        |
  |   Default Value   |       `[none]`       |

   Read default options from given file only.

* []() `--defaults-group-suffix`

  []()[]()

  |Command-Line Format|`--defaults-group-suffix=string`|
  |-------------------|--------------------------------|
  |       Type        |             String             |
  |   Default Value   |            `[none]`            |

   Also read groups with concat(group, suffix).

* []() `--help`

  []()[]()

  |Command-Line Format|`--help`|
  |-------------------|--------|

   Display help text and exit.

* []() `--login-path`

  []()[]()

  |Command-Line Format|`--login-path=path`|
  |-------------------|-------------------|
  |       Type        |      String       |
  |   Default Value   |     `[none]`      |

   Read given path from login file.

* []() `--ndb-connectstring`

  []()[]()

  |Command-Line Format|`--ndb-connectstring=connection_string`|
  |-------------------|---------------------------------------|
  |       Type        |                String                 |
  |   Default Value   |               `[none]`                |

   Set connect string for connecting to ndb\_mgmd. Syntax: "[nodeid=id;][host=]hostname[:port]". Overrides entries in NDB\_CONNECTSTRING and my.cnf.

* []() `--ndb-mgmd-host`

  []()[]()

  |Command-Line Format|`--ndb-mgmd-host=connection_string`|
  |-------------------|-----------------------------------|
  |       Type        |              String               |
  |   Default Value   |             `[none]`              |

   Same as [`--ndb-connectstring`](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-connectstring).

* []() `--ndb-nodeid`

  []()[]()

  |Command-Line Format|`--ndb-nodeid=#`|
  |-------------------|----------------|
  |       Type        |    Integer     |
  |   Default Value   |    `[none]`    |

   Set node ID for this node, overriding any ID set by [`--ndb-connectstring`](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_ndb-connectstring).

* []() `--ndb-optimized-node-selection`

  []()[]()

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

   Enable optimizations for selection of nodes for transactions. Enabled by default; use `--skip-ndb-optimized-node-selection` to disable.

* []() `--no-defaults`

  []()[]()

  |Command-Line Format|`--no-defaults`|
  |-------------------|---------------|

   Do not read default options from any option file other than login file.

* []() `--print-defaults`

  []()[]()

  |Command-Line Format|`--print-defaults`|
  |-------------------|------------------|

   Print program argument list and exit.

* []() `--usage`

  []()[]()

  |Command-Line Format|`--usage`|
  |-------------------|---------|

   Display help text and exit; same as [`--help`](mysql-cluster-programs-ndb-drop-index.html#option_ndb_drop_index_help).

* []() `--version`

  []()[]()

  |Command-Line Format|`--version`|
  |-------------------|-----------|

   Display version information and exit.

Warning

*Operations performed on Cluster table indexes using the NDB API are not visible to MySQL and make the table unusable by a MySQL server*. If you use this program to drop an index, then try to access the table from an SQL node, an error results, as shown here:

```
$> ./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.37-ndb-7.5.26

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
```

 In such a case, your *only* option for making the table available to MySQL again is to drop the table and re-create it. You can use either the SQL statement[`DROP TABLE`](drop-table.html) or the [**ndb\_drop\_table**](mysql-cluster-programs-ndb-drop-table.html) utility (see [Section 23.5.11, “ndb\_drop\_table — Drop an NDB Table”](mysql-cluster-programs-ndb-drop-table.html)) to drop the table.

