前几天想为大数据表添加字段,出现了
2013 - Lost connection to MySQL server during query
查看数据条数
+-----------+
| count(id) |
+-----------+
| 6367286 |
+-----------+
重启机器只开启mysql后,添加字段成功了
为了避免这种问题,记录一下比较妥帖的办法
1.创建一个临时的新表,复制旧表的结构
create table `tmp` like `goods`;
2.给新表加上新增的字段
ALTER TABLE `tmp` ADD COLUMN `num` int(10) NOT NULL DEFAULT 0 AFTER `unit`;
3.把旧表的数据复制过来
insert into tmp(id,name,unit) select id,name,unit from goods;
4.重命名
rename table goods to goods_bak;
rename table tmp to goods;
一般情况下,一百多万的数据量,也可以直接进行加字段操作
但是得看服务器的运行情况,如果有大量服务占用内存,添加字段可能会出现问题