ndb_drop_index
は、指定されたインデックスを
NDB
テーブルから削除します。
このユーティリティーは、NDB API
アプリケーションを記述するための例としてのみ使用することをお勧めします。詳細は、このセクションで後述する「警告」を参照してください。
使用法
ndb_drop_index -c connection_string table_name index -d db_name
上記のステートメントは、database
の table
から
index
という名前のインデックスを削除します。
次の表には、ndb_drop_index に固有のオプションが含まれています。 追加説明が表のあとにあります。 ほとんどの NDB Cluster プログラム (ndb_drop_index を含む) に共通のオプションについては、セクション23.4.32「NDB Cluster プログラムに共通のオプション — NDB Cluster プログラムに共通のオプション」 を参照してください。
表 23.32 プログラムで使用されるコマンドライン・オプション ndb_drop_index
形式 | 説明 | 追加、非推奨、または削除された |
---|---|---|
|
テーブルが見つかったデータベースの名前 | (MySQLに基づくすべてのNDBリリースでサポート 8.0) |
NDB API を使用して Cluster テーブルインデックスに操作を実行しても、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.33-ndb-7.5.21
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 ユーティリティー
(セクション23.4.11「ndb_drop_table — NDB テーブルの削除」を参照してください)
を使用できます。