Out of memory根据我们对英文了理解是超出的内存空间,也就是说你mysql占用了大量的内存了,或是没有配置好,下面小编来给各位同学介绍一下.
MYSQL内存设置问题,可调整tmp_table_size大小解决,增大query_cache_limit 的值,还有max_heap_table_size和tmp_table_size的值.
因为我们的存储过程中用了好多的预处理语句,而且语句的结果都是非常大的,起初我的结果,代码如下:
- mysql> show variables like 'max_heap_table_size';
- +---------------------------------+----------------------+
- | Variable_name | Value |
- +---------------------------------+----------------------+
- | max_heap_table_size | 16777216 |
- +---------------------------------+----------------------+
- mysql> show variables like 'tmp_table_size';
- +---------------------------------+----------------------+
- | Variable_name | Value |
- +---------------------------------+----------------------+
- | tmp_table_size | 16777216 |
- +---------------------------------+----------------------+
我改了my.cnf文件,代码如下:
- mysql> show variables like 'max_heap_table_size';
- +---------------------------------+----------------------+
- | Variable_name | Value |
- +---------------------------------+----------------------+
- | max_heap_table_size | 67108864 |
- +---------------------------------+----------------------+
- mysql> show variables like 'tmp_table_size';
- +---------------------------------+----------------------+
- | Variable_name | Value |
- +---------------------------------+----------------------+
- | tmp_table_size | 67108864 |
- +---------------------------------+----------------------+
我的配置方法如下:
- [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 //Vevb.com
- [myisamchk]
- key_buffer_size = 32M
- sort_buffer_size = 32M
- read_buffer = 8M
- write_buffer = 8M
- [mysqlhotcopy]
- interactive-timeout
新闻热点
疑难解答