Spec-Zone.ru › MySQL 5.7

21.5.6 ndb_blob_tool — Проверка и ремонт столбцов BLOB и TEXT таблиц кластера NDB

Этот инструмент можно использовать для проверки и удаления осиротевших частей столбцов BLOB из таблиц NDB, а также для генерации файла, содержащего список осиротевших частей. Иногда он полезен при диагностике и ремонте поврежденных таблиц NDB, содержащих столбцы BLOB или TEXT.

Базовый синтаксис для ndb_blob_tool показан здесь:

ndb_blob_tool [options] table [column, ...]

Если вы не используете опцию --help, необходимо указать действие, которое должно быть выполнено, включив одну или несколько опций --check-orphans, --delete-orphans или --dump-file. Эти опции заставляют ndb_blob_tool проверять осиротевшие части BLOB, удалять любые осиротевшие части BLOB и генерировать дамп-файл, содержащий список осиротевших частей BLOB соответственно, и более подробно описаны далее в этом разделе.

Необходимо также указать имя таблицы при вызове ndb_blob_tool. Кроме того, вы можете дополнительно указать после имени таблицы (через запятую) имена одного или нескольких столбцов BLOB или TEXT из этой таблицы. Если столбцы не указаны, инструмент работает со всеми столбцами BLOB и TEXT таблицы. Если вам нужно указать базу данных, используйте опцию --database (-d).

Опция --verbose предоставляет дополнительную информацию в выходных данных о ходе работы инструмента.

Опции, которые могут использоваться с ndb_blob_tool, показаны в следующей таблице. Дополнительные описания следуют за таблицей.

Таблица 21.26 Параметры командной строки, используемые с программой ndb_blob_tool

Таблица 21.26 Параметры командной строки, используемые с программой ndb_blob_tool
Формат Описание Добавлено, устарело или удалено

--add-missing

Записывает фиктивные части blob вместо отсутствующих

ДОБАВЛЕНО: NDB 7.5.18, NDB 7.6.14

--character-sets-dir=path

Каталог, содержащий кодировки символов

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--check-missing

Проверка на наличие блобов с встроенными частями, но отсутствующими одной или несколькими частями из таблицы частей

ДОБАВЛЕНО: NDB 7.5.18, NDB 7.6.14

--check-orphans

Проверка на наличие частей blob без соответствующих встроенных частей

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--connect-retries=#

Количество попыток повторного подключения перед отказом

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--connect-retry-delay=#

Количество секунд ожидания между попытками связаться с сервером управления

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--connect-string=connection_string,

-c connection_string

То же, что и --ndb-connectstring

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--core-file

Запись core-файла при ошибке; используется при отладке

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--database=name,

-d name

База данных для поиска таблицы

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--defaults-extra-file=path

Чтение заданного файла после чтения глобальных файлов

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--defaults-file=path

Чтение параметров по умолчанию только из заданного файла

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--defaults-group-suffix=string

Также чтение групп с concat(group, suffix)

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--delete-orphans

Удаление частей blob без соответствующих встроенных частей

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--dump-file=file

Запись ключей-сирот в указанный файл

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--help,

-?

Отображение справки и выход

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--login-path=path

Чтение заданного пути из файла входа

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--ndb-connectstring=connection_string,

-c connection_string

Установка строки подключения для подключения к ndb_mgmd. Синтаксис: "[nodeid=id;][host=]hostname[:port]". Переопределяет записи в NDB_CONNECTSTRING и my.cnf

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--ndb-mgmd-host=connection_string,

-c connection_string

То же, что и --ndb-connectstring

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--ndb-nodeid=#

Установка ID узла для этого узла, переопределяющая любой ID, установленный с помощью --ndb-connectstring

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--ndb-optimized-node-selection

Включение оптимизаций для выбора узлов для транзакций. Включено по умолчанию; используйте --skip-ndb-optimized-node-selection для отключения

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--no-defaults

Не читать параметры по умолчанию из любого файла параметров, кроме файла входа

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--print-defaults

Вывод списка аргументов программы и выход

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--usage,

-?

Отображение справки и выход; то же, что и --help

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--verbose,

-v

Подробный вывод

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)

--version,

-V

Вывод информации о версии и выход

(Поддерживается во всех выпусках NDB на основе MySQL 5.7)


  • --add-missing

    Формат командной строки --add-missing
    Введено 5.7.29-ndb-7.6.14

    Для каждой встроенной части в таблицах кластера NDB, у которой нет соответствующей части BLOB, записывает фиктивную часть BLOB требуемой длины, состоящую из пробелов.

  • --character-sets-dir

    Формат командной строки --character-sets-dir=path

    Каталог, содержащий кодировки символов.

  • --check-missing

    Формат командной строки --check-missing
    Введено 5.7.29-ndb-7.6.14

    Проверка на наличие встроенных частей в таблицах кластера NDB, у которых нет соответствующих частей BLOB.

  • --check-orphans

    Формат командной строки --check-orphans

    Проверка на наличие частей BLOB в таблицах кластера NDB, у которых нет соответствующих встроенных частей.

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

    Записать дамп памяти при ошибке; используется при отладке.

  • --database=db_name, -d

    Формат командной строки --database=name
    Тип Строка
    Значение по умолчанию [none]

    Укажите базу данных, в которой нужно найти таблицу.

  • --defaults-extra-file

    Формат командной строки --defaults-extra-file=path
    Тип Строка
    Значение по умолчанию [none]

    Прочитать заданный файл после чтения глобальных файлов.

  • --defaults-file

    Формат командной строки --defaults-file=path
    Тип Строка
    Значение по умолчанию [none]

    Прочитать параметры по умолчанию только из заданного файла.

  • --defaults-group-suffix

    Формат командной строки --defaults-group-suffix=string
    Тип Строка
    Значение по умолчанию [none]

    Также читать группы с concat(group, suffix).

  • --delete-orphans

    Формат командной строки --delete-orphans

    Удалить части BLOB из таблиц кластера NDB, у которых нет соответствующих встроенных частей.

  • --dump-file=file

    Формат командной строки --dump-file=file
    Тип Имя файла
    Значение по умолчанию [none]

    Записывает список осиротевших частей столбцов BLOB в file. Информация, записанная в файл, включает в себя ключ таблицы и номер части BLOB для каждой осиротевшей части BLOB.

  • --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.

  • --verbose

    Формат командной строки --verbose

    Предоставить дополнительную информацию в выходных данных инструмента о его ходе работы.

  • --version

    Формат командной строки --version

    Отобразить информацию о версии и завершить работу.

Пример

Сначала мы создаём таблицу NDB в базе данных test, используя оператор CREATE TABLE, представленный здесь:

USE test;

CREATE TABLE btest (
    c0 BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
    c1 TEXT,
    c2 BLOB
)   ENGINE=NDB;

Затем мы вставляем несколько строк в эту таблицу, используя серию операторов, подобных этому:

INSERT INTO btest VALUES (NULL, 'x', REPEAT('x', 1000));

При выполнении с --check-orphans на этой таблице, ndb_blob_tool генерирует следующий вывод:

$> ndb_blob_tool --check-orphans --verbose -d test btest
connected
processing 2 blobs
processing blob #0 c1 NDB$BLOB_19_1
NDB$BLOB_19_1: nextResult: res=1
total parts: 0
orphan parts: 0
processing blob #1 c2 NDB$BLOB_19_2
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=0
NDB$BLOB_19_2: nextResult: res=1
total parts: 10
orphan parts: 0
disconnected

NDBT_ProgramExit: 0 - OK

Инструмент сообщает, что нет NDB частей столбца BLOB, связанных со столбцом c1, несмотря на то, что c1 является столбцом TEXT. Это связано с тем, что в таблице NDB только первые 256 байт значения столбца BLOB или TEXT хранятся встроены, а избыток, если таковой имеется, хранится отдельно; следовательно, если нет значений, использующих более 256 байт в заданном столбце одного из этих типов, BLOB частей столбца не создаются инструментом NDB для этого столбца. Подробнее см. Раздел 11.7, «Требования к хранению типов данных».

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/mysql-cluster-programs-ndb-blob-tool.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API