Out of memory根据我们对英文了理解是超出的内存空间,也就是说你mysql占用了大量的内存了,或是没有配置好,下面小编来给各位同学介绍一下.
MYSQL内存设置问题,可调整tmp_table_size大小解决,增大query_cache_limit 的值,还有max_heap_table_size和tmp_table_size的值.
因为我们的存储过程中用了好多的预处理语句,而且语句的结果都是非常大的,起初我的结果,代码如下:
- mysql>showvariableslike'max_heap_table_size';
- +---------------------------------+----------------------+
- |Variable_name|Value|
- +---------------------------------+----------------------+
- |max_heap_table_size|16777216|
- +---------------------------------+----------------------+
- mysql>showvariableslike'tmp_table_size';
- +---------------------------------+----------------------+
- |Variable_name|Value|
- +---------------------------------+----------------------+
- |tmp_table_size|16777216|
- +---------------------------------+----------------------+
我改了my.cnf文件,代码如下:
- mysql>showvariableslike'max_heap_table_size';
- +---------------------------------+----------------------+
- |Variable_name|Value|
- +---------------------------------+----------------------+
- |max_heap_table_size|67108864|
- +---------------------------------+----------------------+
- mysql>showvariableslike'tmp_table_size';
- +---------------------------------+----------------------+
- |Variable_name|Value|
- +---------------------------------+----------------------+
- |tmp_table_size|67108864|
- +---------------------------------+----------------------+
我的配置方法如下:
- [client]
- #password=your_password
- port=3306
- socket=/var/lib/mysql/mysql.sock
- #TheMySQLserver
- [mysqld]
- port=3306
- socket=/var/lib/mysql/mysql.sock
- skip-locking
- #Cache&BufferSize
- 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
- #binaryloggingisrequiredforreplication
- log-bin=mysql-bin
- #binaryloggingformat-mixedrecommended
- binlog_format=mixed
- #requireduniqueidbetween1and2^32-1
- #defaultsto1ifmaster-hostisnotset
- #butwillnotfunctionasamasterifomitted
- server-id=1
- #UncommentthefollowingifyouareusingInnoDBtables
- 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
- #RemovethenextcommentcharacterifyouarenotfamiliarwithSQL
- #safe-updates//phpfensi.com
- [myisamchk]
- key_buffer_size=32M
- sort_buffer_size=32M
- read_buffer=8M
- write_buffer=8M
- [mysqlhotcopy]
- interactive-timeout