【内存占用】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拼接问题, 请教 好吧……还是乱码 【提问】继续问一个PostgreSQL向mysql迁移的问题。 急!高分求PostgreSQL备份和恢复数据库的SQL语句! mysql连接问题 获取不到今天的数据 情况紧急,请大家解答!!! 如何根据查询的结果UPDATE数据??(MYSQL) mysql 的几个问题咨询下 Sql 批量插入300条insert语句最快用时多长? 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实例。多谢哈,回复的有点晚。