我们生产数据库中的一些 INNODB 表即将达到 2147483647 的 INT AUTO_INCREMENT 限制,我们需要将它们更改为 BIGINT,否则写入将开始失败。
这些表位于在 Amazon RDS 上运行的生产 MySQL 5.6.19a 数据库中。
我们如何在不中断一直发生的生产读取和插入的情况下执行这样的 ALTER 操作?
ALTER TABLE MYTABLECHANGE id idBIGINT NOT NULL AUTO_INCREMENT;
这是表的 DDL:
CREATE TABLE `MYTABLE` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`siteId` int(11) NOT NULL,
`filter` varchar(10) NOT NULL DEFAULT 'ALL',
`date` varchar(10) NOT NULL,
`cards` varchar(250) NOT NULL,
`apples` varchar(45) NOT NULL,
`carrots` varchar(45) NOT NULL,
`corn` varchar(45) NOT NULL,
`peas` varchar(45) NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `unique` …Run Code Online (Sandbox Code Playgroud)