尝试将新列添加到MYSQL表时连接丢失
我正在尝试向一个超过2500万行的mysql表添加一列。我正在运行sql命令尝试将新列添加到MYSQL表时连接丢失,mysql,Mysql,我正在尝试向一个超过2500万行的mysql表添加一列。我正在运行sql命令 ALTER TABLE `table_name` ADD COLUMN `column_name` varchar(128) NULL DEFAULT NULL; 这是使用mysql命令行应用程序运行的 每次我试着运行这个程序都需要几个小时,然后我就得到了错误 错误2013(HY000):查询期间与MySQL服务器的连接中断 数据库正在AWS上的RDS实例中运行,并检查监控统计数据,内存或磁盘空间均未耗尽 我还可以尝
ALTER TABLE `table_name` ADD COLUMN `column_name` varchar(128) NULL DEFAULT NULL;
这是使用mysql命令行应用程序运行的
每次我试着运行这个程序都需要几个小时,然后我就得到了错误
错误2013(HY000):查询期间与MySQL服务器的连接中断
数据库正在AWS上的RDS实例中运行,并检查监控统计数据,内存或磁盘空间均未耗尽
我还可以尝试将此列添加到表中吗 检查内存使用情况,或者更可能检查磁盘使用情况(在此过程中是否有足够的可用空间?)。更改表可能需要大量内存或表的磁盘副本。在特定情况下,更改alter算法可能会更快 您也可能会遇到
innodb\u online\u alter\u log\u max\u size
限制,但在这种情况下,应该只有查询失败,而不是整个服务器失败。不过,崩溃可能是由于回滚而不是操作本身造成的
最后,某些应用程序配置或托管服务器取消了耗时太长的查询/http请求,我建议您在命令行客户端上执行相同的查询以进行测试。检查内存使用情况,或者更可能检查磁盘使用情况(过程中是否有足够的可用空间?)。更改表可能需要大量内存或表的磁盘副本。在特定情况下,更改alter算法可能会更快
您也可能会遇到innodb\u online\u alter\u log\u max\u size
限制,但在这种情况下,应该只有查询失败,而不是整个服务器失败。不过,崩溃可能是由于回滚而不是操作本身造成的
最后,一些应用程序配置或托管服务器取消了耗时太长的查询/http请求,我建议您在命令行客户端上执行相同的查询以进行测试。感谢您的快速响应,但问题中已经介绍了一些要点。”检查内存使用情况或磁盘使用情况”:如问题中所述,数据库在RDS上运行,监控显示内存和磁盘空间充足我建议您在命令行客户机上执行相同的查询,正如我正在做的问题中所述。您提到的最后一件事是将算法从原地更改为复制。不过,我对这样做并不满意,因为我听说这样做可能会更改我的主键,并导致数据完整性问题。感谢您的快速回复,不过问题中已经涉及到了一些要点。”检查内存使用情况或磁盘使用情况”:如问题中所述,数据库在RDS上运行,监控显示内存和磁盘空间充足我建议您在命令行客户机上执行相同的查询,正如我正在做的问题中所述。您提到的最后一件事是将算法从原地更改为复制。但是,我不喜欢这样做,因为我听说这样做可能会改变我的主键,并导致数据完整性问题。