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 в одной базе данных?
Пожалуйста, дайте мне знать, если какой-либо другой вклад вам нужен. Заранее спасибо.