21.5.11 ndb_drop_index — Удаление индекса из таблицы NDB
ndb_drop_index удаляет указанный индекс из таблицы NDB. Рекомендуется использовать эту утилиту только как пример для написания приложений API NDB—подробнее см. предупреждение в данном разделе.
Использование
ndb_drop_index -c connection_string table_name index -d db_name
Приведенная выше команда удаляет индекс с именем index из таблицы table в базе данных database.
Параметры, которые можно использовать с ndb_drop_index, показаны в следующей таблице. Дополнительные описания приведены после таблицы.
Таблица 21.30 Параметры командной строки, используемые с программой ndb_drop_index
| Формат | Описание | Добавленные, устаревшие или удаленные |
|---|---|---|
| Директория, содержащая наборы символов | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Количество попыток повторного подключения, прежде чем отказаться | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Количество секунд ожидания между попытками подключения к серверу управления | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Аналогично --ndb-connectstring | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Записать дамп ядра при ошибке; используется при отладке | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
|
| Имя базы данных, в которой находится таблица | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) |
| Прочитать указанный файл после чтения глобальных файлов | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Считать параметры по умолчанию только из указанного файла | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Также читать группы с concat(group, suffix) | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Отобразить справку и выйти | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Прочитать указанный путь из файла входа | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Установить строку подключения для подключения к ndb_mgmd. Синтаксис: "[nodeid=id;][host=]hostname[:port]". Переопределяет записи в NDB_CONNECTSTRING и my.cnf | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Аналогично --ndb-connectstring | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Установить идентификатор узла для этого узла, переопределяя любой идентификатор, установленный параметром --ndb-connectstring | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Включить оптимизации для выбора узлов для транзакций. Включено по умолчанию; используйте --skip-ndb-optimized-node-selection для отключения | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Не читать параметры по умолчанию из файла параметров, кроме файла входа | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Вывести список аргументов программы и выйти | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Отобразить справку и выйти; аналогично --help | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) | |
| Отобразить информацию о версии и выйти | (Поддерживается во всех выпусках NDB, основанных на MySQL 5.7) |
-
--character-sets-dirФормат командной строки --character-sets-dir=pathКаталог, содержащий наборы символов.
-
--connect-retriesФормат командной строки --connect-retries=#Тип Целое число Значение по умолчанию 12Минимальное значение 0Максимальное значение 12Количество попыток повторного подключения до отказа.
-
--connect-retry-delayФормат командной строки --connect-retry-delay=#Тип Целое число Значение по умолчанию 5Минимальное значение 0Максимальное значение 5Количество секунд ожидания между попытками связаться с сервером управления.
-
--connect-stringФормат командной строки --connect-string=connection_stringТип Строка Значение по умолчанию [none]То же, что и
--ndb-connectstring. -
--core-fileФормат командной строки --core-fileЗапись файла core при ошибке; используется при отладке.
-
--database,-dФормат командной строки --database=nameТип Строка Значение по умолчанию TEST_DBИмя базы данных, в которой находится таблица.
-
--defaults-extra-fileФормат командной строки --defaults-extra-file=pathТип Строка Значение по умолчанию [none]Чтение указанного файла после чтения глобальных файлов.
-
--defaults-fileФормат командной строки --defaults-file=pathТип Строка Значение по умолчанию [none]Чтение параметров по умолчанию только из указанного файла.
-
--defaults-group-suffixФормат командной строки --defaults-group-suffix=stringТип Строка Значение по умолчанию [none]Также чтение групп с concat(группа, суффикс).
-
--helpФормат командной строки --helpОтображение текста справки и выход.
-
--login-pathФормат командной строки --login-path=pathТип Строка Значение по умолчанию [none]Чтение указанного пути из файла входа.
-
--ndb-connectstringФормат командной строки --ndb-connectstring=connection_stringТип Строка Значение по умолчанию [none]Установка строки подключения для соединения с ndb_mgmd. Синтаксис: "[nodeid=id;][host=]hostname[:port]". Переопределяет записи в NDB_CONNECTSTRING и my.cnf.
-
--ndb-mgmd-hostФормат командной строки --ndb-mgmd-host=connection_stringТип Строка Значение по умолчанию [none]То же, что и
--ndb-connectstring. -
--ndb-nodeidФормат командной строки --ndb-nodeid=#Тип Целое число Значение по умолчанию [none]Установка идентификатора узла для этого узла, переопределяя любой идентификатор, установленный
--ndb-connectstring. -
--ndb-optimized-node-selectionФормат командной строки --ndb-optimized-node-selectionВключить оптимизации для выбора узлов для транзакций. Включено по умолчанию; используйте
--skip-ndb-optimized-node-selectionдля отключения. -
--no-defaultsФормат командной строки --no-defaultsНе читать параметры по умолчанию из любого файла параметров, кроме файла входа.
-
--print-defaultsФормат командной строки --print-defaultsВывод списка аргументов программы и выход.
-
--usageФормат командной строки --usageОтображение текста справки и выход; то же, что и
--help. -
--versionФормат командной строки --versionОтображение информации о версии и выход.
Операции, выполняемые над индексами таблицы Cluster с помощью NDB API, не видны MySQL и делают таблицу непригодной для использования сервером MySQL. Если вы используете эту программу для удаления индекса, а затем пытаетесь получить доступ к таблице с узла SQL, возникает ошибка, как показано здесь:
$> ./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
В таком случае единственный способ сделать таблицу доступной для MySQL снова — это удалить таблицу и создать её заново. Вы можете использовать либо SQL-командуDROP TABLE, либо утилиту ndb_drop_table (см. Раздел 21.5.12, «ndb_drop_table — Удаление таблицы NDB») для удаления таблицы.
© 2025 Oracle
Licensed under the GPLv2 License.