pt-online-schema-change error с большим составным первичным ключом

У меня есть таблица с составным первичным ключом со структурой ниже:

СОЗДАТЬ СТОЛ field_name_test (
id_type varchar (128) NOT NULL DEFAULT '',
desc varchar (128) NOT NULL DEFAULT '',
deleted tinyint (4) NOT NULL ПО УМОЛЧАНИЮ '0',
type_id int (10) без знака NOT NULL,
rev_id int (10) без знака NOT NULL,
lang varchar (32) NOT NULL DEFAULT '',
delta int (10) без знака NOT NULL,
fname_value varchar (255) DEFAULT NULL,
fname_format varchar (255) DEFAULT NULL,
ОСНОВНОЙ КЛЮЧ (id_type,type_id,rev_id,deleted,delta,lang),
KEY id_type (id_type),
KEY desc (desc),
KEY deleted (deleted),
KEY type_id (type_id),
KEY rev_id (rev_id),
KEY lang (lang),
KEY fname_format (fname_format)
) ENGINE = InnoDB CHARSET ПО УМОЛЧАНИЮ = utf8

я запускаю pt-osc для изменения параметров сортировки таблицы, и она отлично работает с другими таблицами, но эта дает ошибку ниже:

pt-online-schema-change --execute --password=#### --user=#### --socket=#### --port=#### --chunk-time=1 --recursion-method=none --no-drop-old-table --alter "CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci , CHANGE desc desc varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci , CHANGE id_type id_type varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci , CHANGE lang lang varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci , ROW_FORMAT=DYNAMIC , LOCK=SHARED, ALGORITHM=COPY" D=db,t=field_name_test,h=localhost

Рабы не найдены. Смотрите --recursion-method, если на хосте ###### есть ведомые.
Не проверяется ведомое отставание, так как не было найдено ни одного ведомого, а параметр --check-slave-lag не был указан.
Операция, пытается, подождите:
copy_rows, 10, 0,25
create_triggers, 10, 1
drop_triggers, 10, 1
swap_tables, 10, 1
update_foreign_keys, 10, 1
изменяющего db,field_name_test...
Создание новой таблицы...
Создана новая таблица db._field_name_test_new OK.
Изменение новой таблицы...
Измененный db,_field_name_test_new ХОРОШО.
2017-09-15T09: 18: 47 Создание триггеров...
2017-09-15T09: 18: 47 Созданы триггеры ОК.
2017-09-15T09: 18: 47 Копирование примерно 3843064 строк...
2017-09-15T09: 18: 47 Триггеры сбрасывания...
2017-09-15T09: 18: 47 Отброшены триггеры ОК.
2017-09-15T09: 18: 47 Отбрасывать новый стол...
2017-09-15T09: 18: 47 Уронили новую таблицу ОК.
db,field_name_test не был изменен.
2017-09-15T09: 18: 47 Ошибка копирования строк из db,field_name_test в
db,_field_name_test_new: 2017-09-15T09: 18: 47 Ошибка копирования строк в блоке 1 db.field_name_test, поскольку MySQL использовал только 390 байтов индекса PRIMARY вместо 497. Для получения дополнительной информации см. Документацию плана проверки -[no].


Я бегу выше в кластере узлов Galera 3.

Так что я ниже проблем на Pt-Osc:
1) какие решения могут быть для вышеуказанных случаев?
2) Возможно ли запустить параллельный pt-osc в одной базе данных?

Пожалуйста, дайте мне знать, если какой-либо другой вклад вам нужен. Заранее спасибо.

0 ответов

Другие вопросы по тегам