21.5.11 ndb_drop_index — Drop Index from an NDB Table (original) (raw)
21.5.11 ndb_drop_index — Drop Index from an NDB Table
ndb_drop_index drops the specified index from an NDB 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 are shown in the following table. Additional descriptions follow the table.
Table 21.30 Command-line options used with the program ndb_drop_index
Format | Description | Added, Deprecated, or Removed |
---|---|---|
--character-sets-dir=path | Directory containing character sets | (Supported in all NDB releases based on MySQL 5.7) |
--connect-retries=# | Number of times to retry connection before giving up | (Supported in all NDB releases based on MySQL 5.7) |
--connect-retry-delay=# | Number of seconds to wait between attempts to contact management server | (Supported in all NDB releases based on MySQL 5.7) |
--connect-string=connection_string, -c connection_string | Same as --ndb-connectstring | (Supported in all NDB releases based on MySQL 5.7) |
--core-file | Write core file on error; used in debugging | (Supported in all NDB releases based on MySQL 5.7) |
--database=name, -d name | Name of database in which table is found | (Supported in all NDB releases based on MySQL 5.7) |
--defaults-extra-file=path | Read given file after global files are read | (Supported in all NDB releases based on MySQL 5.7) |
--defaults-file=path | Read default options from given file only | (Supported in all NDB releases based on MySQL 5.7) |
--defaults-group-suffix=string | Also read groups with concat(group, suffix) | (Supported in all NDB releases based on MySQL 5.7) |
--help, -? | Display help text and exit | (Supported in all NDB releases based on MySQL 5.7) |
--login-path=path | Read given path from login file | (Supported in all NDB releases based on MySQL 5.7) |
--ndb-connectstring=connection_string, -c connection_string | 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 5.7) |
--ndb-mgmd-host=connection_string, -c connection_string | Same as --ndb-connectstring | (Supported in all NDB releases based on MySQL 5.7) |
--ndb-nodeid=# | Set node ID for this node, overriding any ID set by --ndb-connectstring | (Supported in all NDB releases based on MySQL 5.7) |
--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 5.7) |
--no-defaults | Do not read default options from any option file other than login file | (Supported in all NDB releases based on MySQL 5.7) |
--print-defaults | Print program argument list and exit | (Supported in all NDB releases based on MySQL 5.7) |
--usage, -? | Display help text and exit; same as --help | (Supported in all NDB releases based on MySQL 5.7) |
--version, -V | Display version information and exit | (Supported in all NDB releases based on MySQL 5.7) |
--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. --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. --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. --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. --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.44-ndb-7.5.36
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 statementDROP TABLE or thendb_drop_table utility (seeSection 21.5.12, “ndb_drop_table — Drop an NDB Table”) to drop the table.