【内存占用】MySQL占用的内存非常高,开始使用SWAP空间 mysql内存 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 已经解决了,是由于出发了mysql5.0.67的BUG导致的。 在mysql5.0.67版本中,动态视图information_schema.CLIENT_STATISTICS会统计连接Mysql的客户端的实时信息,其中CLIENT字段的长度是16字节(是不是跟最大长度的IP地址字符数一致?),它存储的是主机名,但是我在/etc/hosts中配置的主机名长度却超过了16个字符:# cat /etc/hosts192.168.1.104 abcdefghijklmn_xxxx 这样就导致mysql5.0.67在往information_schema.CLIENT_STATISTICS里面统计客户端信息的时候,遇到BUG,这时mysql会不断地往里面重新插入记录,正常情况中,每个主机名只会生成一条统计记录,然后Mysql会实时更新它。但是此时主机名长度超过16字符触发了BUG,会导致mysql记录的client名称是“abcdefghijklmn_",它每次更新这个主机的动态信息时,都会重新生成一条记录,然而这条记录是没有任何意义的,除了client字段的值守“abcdefghijklmn_",其它所有字段的值都是"0"。 随着APP不断地访问mysql,information_schema.CLIENT_STATISTICS动态视图的记录数会增长到”亿“级别,服务器的内存同时也被一点一点地占用了,并且是线性稳定增长的。 解决方法是: 修改/etc/hosts中主机名的长度,然后重启mysql实例。多谢哈,回复的有点晚。 SQL查询排序问题 在windows下如何用批处理创建数据库 为什么varchar反而把空格去掉了? 怎样查询greenplum数据库表的压缩比和分布策略 mysql+mysql-font问题?急急! sql 语句如何同时删除多行 求助,怎么写这个查询? 超离奇的事件,大家给点意见 急救!mysql 启动时发生1067错误。 关于匹配索引,看下此sql有无办法匹配索引 mysql启动时basedir/datadir与配置不一致 MySQL自动备份报错
已经解决了,是由于出发了mysql5.0.67的BUG导致的。 在mysql5.0.67版本中,动态视图information_schema.CLIENT_STATISTICS会统计连接Mysql的客户端的实时信息,其中CLIENT字段的长度是16字节(是不是跟最大长度的IP地址字符数一致?),它存储的是主机名,但是我在/etc/hosts中配置的主机名长度却超过了16个字符:
# cat /etc/hosts
192.168.1.104 abcdefghijklmn_xxxx
这样就导致mysql5.0.67在往information_schema.CLIENT_STATISTICS里面统计客户端信息的时候,遇到BUG,这时mysql会不断地往里面重新插入记录,正常情况中,每个主机名只会生成一条统计记录,然后Mysql会实时更新它。但是此时主机名长度超过16字符触发了BUG,会导致mysql记录的client名称是“abcdefghijklmn_",它每次更新这个主机的动态信息时,都会重新生成一条记录,然而这条记录是没有任何意义的,除了client字段的值守“abcdefghijklmn_",其它所有字段的值都是"0"。
随着APP不断地访问mysql,information_schema.CLIENT_STATISTICS动态视图的记录数会增长到”亿“级别,服务器的内存同时也被一点一点地占用了,并且是线性稳定增长的。 解决方法是: 修改/etc/hosts中主机名的长度,然后重启mysql实例。多谢哈,回复的有点晚。