如何更改 mysql innodb 分区以使用另一个密钥?

how to alter a mysql innodb partition to use another key?

我的 table 有 5 个散列 (key_1) 分区。我想改变它,所以它有 5 个散列 (key_2) 分区,但不会丢失数据。

我该怎么做?我已经搜索过,但很难找到确认我不会因删除分区而丢失数据。

删除、截断或删除分区肯定会丢失数据。您可以使用 ALTER TABLE 更改分区,例如 ALTER TABLE t PARTITION BY HASH (key_2) PARTITIONS 5。这不会丢失数据,但是(至少对于 InnoDB),table 将被锁定以进行写入并使用新分区重建。