你在这里

Mysql

admin 的头像

[MYSQL] ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '2569934' for key 'PRIMARY'

内容标签: 

在mysql里给表增加索引的时候遇到这个错误

ALTER TABLE causes auto_increment resequencing, resulting in duplicate entry '2569934 for key 'PRIMARY'

差了下表里的记录主键ID为2569934的并没有重复

于是重新执行了一遍,观察data目录下的文件变化,应该是生成索引的时候出现问题。

于是试着repair了一下表,解决!

 

admin 的头像

[原创]mysql has gone away 的解决办法(PHP)

内容标签: 

最近在做分库分表,有一个统计脚本经常出现mysql has gone away。

造成这个错误主要有两个原因:

1. 服务器超时,比如说在一个脚本里连接上服务器后进行了一些数据库操作后,就开始冷落了数据库,执行起其他一些非数据库操作的耗时操作,数据库等待了wait_timeout配置的秒数后,发现客户端还没有动作,则自动关闭了连接,而客户端不知道,继续用那个失效的连接。

2. 因为SQL语句太长所致,比如插入一个BLOB列,或者用一条INSERT语句同时插入很多行,因为SQL太长,数据库可能就无法接收到完整的SQL,结果数据库就会觉得客户端出错了,从而关闭连接。

如果是原因2,请加大max_allowed_packet。

如果是原因1,有两种解决办法:

1. 加大wait_timeout,不过wait_timeout不宜过大,不然会造成sleep的连接不能及时得到释放。

2. 修改程序,页面最好在把数据全部查出之后,在进行php处理,不过有的情况无法控制,比如,你要的查询依赖与一个远程连接返回的结果,我今天遇到的是另外的情况。

admin 的头像

[原创]PHP mysql_query函数导致的查询乱码问题

内容标签: 

web环境:

nginx + php5.2.10 + mysql 5.0.51

代码模型:

admin 的头像

一款开源的监控MYSQL性能的工具—INNOTOP(转载)

内容标签: 

INNOTOP是一个通过文本模式显示MySQL和 InnoDB的监测工具。它有很多特点,快速的配置的,易于使用等。它吸取了MYTOP的精华这使它变得更加强大。INNOTOP是用PERL语言写成 的,这是它能更加灵活的使用在各种操作平台之上,它能详细的的监控出当前MYSQL和INNODB运行的状态,以便维护人员根据结果合理的优化 MYSQL,让MYSQL更稳定更高效的运行。

安装INNOTOP工具非常的简单,既然是由PERL写的,当然需要PERL环境和相关的工具包。

在安装之前先要确定你的系统安装了Time::HiRes,Term::ReadKey,DBI,DBD::mysql这四个包。安装可以把包下载下来通过编译安装完成也可以用PERL模块安装方式来完成。

安装Time::HiRes,Term::ReadKey,DBI,DBD::mysql库文件

通过PERL模块来安装

[root@web1477 local]# perl -MCPAN -eshell

CPAN> install Time::HiRes

CPAN> install Term::ReadKey

CPAN> install DBI

页面

订阅RSS - Mysql