Duplicate entry '0' for key 'PRIMARY' 一查,发现表没有设置自增长。 尝试增加修改表,添加自增长。 ALTER TABLE sh_incentive_item MODIFY id SMALLINT UNSIGNED AUTO_INCREMENT; 报错
Nov
27
2016
Nov
25
2016
Nov
21
2016
在MySQL5.7之前的版本中, InnoDB每次做crash
recovery之前都需要扫描数据目录,打开每个文件并创建内存对象。当目录下文件个数特别多时,会严重影响到崩溃恢复的速度。
为了解决这个问题,MySQL5.7通过结合checkpoint + 标注被修改的文件的方式,从一个check
【mysql】 【innodb】 【crash】 【recovery】 点击查看原文>
Nov
20
2016
0、导读
有个MySQL服务器的磁盘I/O总有过高报警,怎么回事?
1、问题
我的朋友小明,TA有个MySQL服务器最近总是报告磁盘I/O非常高,想着我这有免费的不用白不用的企业技术服务(TA自己这么想的),就找我帮忙给把把脉。
作为一个经验丰富(踩坑不断)的DBA,出现这种问题,一般来说,磁盘I/O很高无非是下面几个原因引起:
- 磁盘子系统设备性能差,或采用ext2/ext3之类文件系统,或采用cfq之类的io scheduler,所以IOPS提上不去;
- SQL效率不高,比如没有索引,或者一次性读取大量数据,所以需要更多的I/O;
- 可用内存太小,内存中能缓存/缓冲的数据不多,所以需要更多的I/O。
方法论已有,接下来就是动手开始排查了。
2、排查
…
[获取更多]
Nov
16
2016
Nov
16
2016
Nov
08
2016
Nov
04
2016
Oct
26
2016
Oct
07
2016
众所周知,由于MySQL采用统一Server层+不同的底层引擎插件的架构模式,在Server层为每个表创建了frm文件,以保存与表定义相关的元数据信息。然而某些引擎(例如InnoDB)本身也会存储元数据,这样不仅产生了元数据冗余,而且由于Server层和引擎层分别各自管理,在执行DDL之类的操作时...
【数据存储与数据库】 【mysql】 【innodb】 点击查看原文>