auto_increament达到最大值的解决方法
时间:2010-05-24 来源:傲雪红梅
故障描述:
mysql> insert into nagios_servicestatus set instance_id=7;
ERROR 1467 (HY000): Failed to read auto-increment value from storage engine
故障原因:
show create table nagios_servicestatus;
查看了一下表结构,主键定义为int(11) NOT NULL AUTO_INCREMENT,而AUTO_INCREMENT=2147483648。
看来是自增ID达到了最大值。
验证方法:
用sizeof(int)看它占了几个字节,32位机上,这个值是32, 2的32次方=4294967296(无符号),带符号再除以2,负数比正数多一个,-2147483648~+2147483647。
解决方法:
alter table nagios_servicestatus modify column servicestatus_id bigint(20) unsigned not null auto_increment;
mysql> insert into nagios_servicestatus set instance_id=7;
ERROR 1467 (HY000): Failed to read auto-increment value from storage engine
故障原因:
show create table nagios_servicestatus;
查看了一下表结构,主键定义为int(11) NOT NULL AUTO_INCREMENT,而AUTO_INCREMENT=2147483648。
看来是自增ID达到了最大值。
验证方法:
用sizeof(int)看它占了几个字节,32位机上,这个值是32, 2的32次方=4294967296(无符号),带符号再除以2,负数比正数多一个,-2147483648~+2147483647。
解决方法:
alter table nagios_servicestatus modify column servicestatus_id bigint(20) unsigned not null auto_increment;
相关阅读 更多 +