mysql out of memory needed bytes 错误

max_connections=50000
query_cache_size=0
table_cache=256
tmp_table_size=103M
thread_cache_size=8
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=2048M
key_buffer_size=1024M
read_buffer_size=64M
read_rnd_buffer_size=256K
sort_buffer_size=256M
innodb_additional_mem_pool_size=7M
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=3499K
innodb_buffer_pool_size=339M
innodb_log_file_size=170M
innodb_thread_concurrency=18
wait_timeout=30
event_scheduler = 1
用的是myisam表
mysql版本是:5.5.8
现在用软件连接mysql老提示5-out of memory needed bytes,网站打开正常,mysql可以正常执行,但是用软件就无法控制操作mysql。
服务器是8核,8G内存,硬盘用的是15000转的,跟硬件没多大关系,系统内存只用了4G左右。

mysql就是不如SQL强大。我有时也出现此问题。

1,要么更换数据库;
2,要么贴出操作数据库的代码 让大家看看。推荐第二种。

你也可以试着做一个简单操作数据库的代码,可执行情况如何。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-20
read_buffer_size=64M 这个参数是线程独享的,设太大了,设成1M就哦了。
sort_buffer_size=256M这个参数是线程独享的,设太大了,设成1M就哦了。
max_connections这个设置成500.追问

我的连接数一般只保持1000之内,监控列表中只有1000左右的连接数,但是服务器配置高,应该没有什么问题。我现在把大表的索引删除一些,因为数据库都是自建的,当时把更新时间跟点击次数拿去做索引,不知道是否是因为频繁更新索引导致这个,目前已经删除了那2个索引值,效果待观查,一般都是数据库运行一天就会出现错误。

第2个回答  2012-02-20
直接通过mysql客户端连接是否有问题?追问

一样的,提示out of 网站打开有时候正常,有时候读不到数据

追答

昨天也遇到相同的问题,总算搞定了,你需要修改几个参数:
innodb_buffer_pool_size=128M
myisam_max_sort_file_size=10G
myisam_sort_buffer_size=1024M
max_connections=5000
tmp_table_size=64M
这个是我给你的参考值,你也可以适当调整,原来那个配置实在是太庞大了,内存不足就是这个原因造成的,你改小点就可以了

本回答被网友采纳
第3个回答  2012-02-16
貌似占用内存不足了
相似回答