0

我有一个具有以下结构的复合主键的表:

CREATE TABLE field_name_test(
id_typevarchar(128) NOT NULL DEFAULT '',
descvarchar(128) NOT NULL DEFAULT '' ,
deletedtinyint(4) NOT NULL DEFAULT '0' ,
type_idint(10) unsigned NOT NULL ,
rev_idint(10) unsigned NOT NULL ,
langvarchar(32) NOT NULL DEFAULT '',
deltaint(10) unsigned NOT NULL,
fname_valuevarchar(255) DEFAULT NULL,
fname_formatvarchar(255) DEFAULT NULL,
PRIMARY KEY ( id_type, type_id, rev_id, deleted, delta, lang),
KEY id_type( id_type),
KEY desc( desc),
deleted( deleted),
type_id( type_id),
rev_id( rev_id),
lang( lang),
KEY fname_format( fname_format)
) 引擎=InnoDB 默认字符集=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
Altering 。... 创建新表... 创建新表 db._field_name_test_new OK。 更改新表... 更改。好的。 2017-09-15T09:18:47 创建触发器... 2017-09-15T09:18:47 创建触发器正常。 2017-09-15T09:18:47 复制大约 3843064 行...
dbfield_name_test



db_field_name_test_new



2017-09-15T09:18:47 删除触发器...
2017-09-15T09:18:47 删除触发器 OK。
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 在 db.field_name_test 的块 1 处复制行时出错,因为 MySQL 仅使用了 PRIMARY 索引的 390 字节而不是 497。有关更多信息,请参阅 --[no]check-plan 文档。


我在 Galera 3 节点集群中运行。

所以我对 pt-osc 有以下担忧:
1)对于上述情况,有哪些解决方案?
2) 是否可以在同一个数据库中运行并行 pt-osc ?

如果您需要任何其他输入,请告诉我。提前致谢。

4

0 回答 0