MYSQL错误:Out of memory (Needed 1046596 bytes)
MYSQL内存设置问题,可调整tmp_table_size大小解决
增大query_cache_limit 的值。
还有max_heap_table_size
和tmp_table_size的值。
因为我们的存储过程中用了好多的预处理语句。而且语句的结果都是非常大的。
起初我的结果:
代码如下 | |
mysql> show variables like 'max_heap_table_size'; 我改了my.cnf文件 mysql> show variables like 'max_heap_table_size'; |
我的配置方法如下
[client]
#password = your_password
port = 3306
socket = /var/lib/mysql/mysql.sock
# The MySQL server
[mysqld]
port = 3306
socket = /var/lib/mysql/mysql.sock
skip-locking
# Cache & Buffer Size
max_allowed_packet = 1G
key_buffer_size =768M
table_cache =256M
sort_buffer_size =64M
read_buffer_size =64M
read_rnd_buffer_size =64M
myisam_sort_buffer_size = 64M
tmp_table_size=256M ====================对这里进行修改即可
query_cache_type=1
query_cache_limit=32M
connect_timeout=100000
# binary logging is required for replication
log-bin=mysql-bin
# binary logging format - mixed recommended
binlog_format=mixed
# required unique id between 1 and 2^32 - 1
# defaults to 1 if master-host is not set
# but will not function as a master if omitted
server-id = 1
# Uncomment the following if you are using InnoDB tables
innodb_data_home_dir = /var/lib/mysql/
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = /var/lib/mysql/
innodb_buffer_pool_size = 768M
innodb_additional_mem_pool_size = 512M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates
[myisamchk]
key_buffer_size = 32M
sort_buffer_size = 32M
read_buffer = 8M
write_buffer = 8M
[mysqlhotcopy]
interactive-timeout