小编Gau*_*ani的帖子

列无法从“int”类型转换为“bigint(20) unsigned”类型?

我有一个 Percona MySQL 集群,有一个主节点和几个从节点。他们每个人都运行 MySQL 的“Ver 14.14 Distrib 5.5.40-36.1”。复制是基于行的。

我仅对从属设备的其中一张表运行了更改查询。计划是在所有从服务器上运行此查询,然后进行主切换,因为我们无法承受在主服务器上锁定表。

查询是:

ALTER TABLE order_item_units 
MODIFY parent_id BIGINT(20) unsigned ;
Run Code Online (Sandbox Code Playgroud)

并在我使用检查从站时发布此信息show slave status,我看到复制被破坏并出现以下错误:

表“database_name.order_item_units”的第 3 列无法从“int”类型转换为“bigint(20) unsigned”类型

当我检查该列时,它确实转换为BIGINT.

现在我无法解决这个问题。我确实停止了奴隶并启动了奴隶,没有帮助。没有停止奴隶和 MySQL 重新启动,没有帮助。做了一个跳过计数器,也没有帮助。

要么该列不应该被转换,那么错误就是正确的,但可能根本不应该有任何错误。

如果列确实被转换了,那么为什么会出现错误?

任何线索我在这里错过了什么?

mysql replication alter-table percona

5
推荐指数
1
解决办法
4844
查看次数

标签 统计

alter-table ×1

mysql ×1

percona ×1

replication ×1