Spec-Zone.ru › MySQL 9.2

25.5.6 ndb_blob_tool — Проверка и восстановление столбцов BLOB и TEXT в таблицах NDB Cluster

Этот инструмент используется для поиска и удаления фрагментов столбцов 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, оставшихся без ссылки, удалять такие фрагменты и создавать файл дампа, содержащий список таких фрагментов, и подробно описаны далее в этом разделе.

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

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

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

  • --add-missing

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

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

  • --character-sets-dir

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

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

  • --check-missing

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

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

  • --check-orphans

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

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

  • --connect-retries

    Формат командной строки --connect-retries=#
    Тип Integer
    Значение по умолчанию 12
    Минимальное значение 0
    Максимальное значение 12

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

  • --connect-retry-delay

    Формат командной строки --connect-retry-delay=#
    Тип Integer
    Значение по умолчанию 5
    Минимальное значение 0
    Максимальное значение 5

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

  • --connect-string

    Формат командной строки --connect-string=connection_string
    Тип String
    Значение по умолчанию [none]

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

  • --core-file

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

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

  • --database=db_name, -d

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

    Указать базу данных для поиска таблицы.

  • --defaults-extra-file

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

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

  • --defaults-file

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

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

  • --defaults-group-suffix

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

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

  • --delete-orphans

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

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

  • --dump-file=file

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

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

  • --help

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

    Вывести справку и выйти.

  • --login-path

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

    Прочитать заданный путь из файла входа.

  • --no-login-paths

    Формат командной строки --no-login-paths

    Пропускает чтение параметров из файла пути входа.

  • --ndb-connectstring

    Формат командной строки --ndb-connectstring=connection_string
    Тип String
    Значение по умолчанию [none]

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

  • --ndb-mgm-tls

    Формат командной строки --ndb-mgm-tls=level
    Тип Enumeration
    Значение по умолчанию relaxed
    Допустимые значения

    relaxed

    strict

    Устанавливает уровень поддержки TLS, необходимый для подключения к серверу управления; одно из relaxed или strict. relaxed (по умолчанию) означает, что устанавливается TLS-соединение, но успех не требуется; strict означает, что для подключения требуется TLS.

  • --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 для отключения.

  • --ndb-tls-search-path

    Командная строка --ndb-tls-search-path=list
    Тип Имя пути
    Значение по умолчанию (Unix) $HOME/ndb-tls
    Значение по умолчанию (Windows) $HOMEDIR/ndb-tls

    Укажите список каталогов для поиска файла CA. В системах Unix имена каталогов разделяются двоеточием (:); в системах Windows используется символ точка с запятой (;) в качестве разделителя. Ссылка на каталог может быть относительной или абсолютной; она может содержать одну или несколько переменных среды, каждая из которых обозначается префиксом с символом доллара ($), и расширяется перед использованием.

    Поиск начинается с самого левого каталога и продолжается слева направо до тех пор, пока не будет найден файл. Пустая строка обозначает пустой путь поиска, что приведет к ошибке всех поисков. Строка, состоящая из одной точки (.), указывает, что путь поиска ограничен текущей рабочей директорией.

    Если путь поиска не указан, используется значение по умолчанию, скомпилированное в программу. Это значение зависит от используемой платформы: в Windows это \ndb-tls; на других платформах (включая Linux) это $HOME/ndb-tls. Это можно переопределить, скомпилировав NDB Cluster с помощью -DWITH_NDB_TLS_SEARCH_PATH.

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

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

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

Spec-Zone.ru

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