如何在my.cnf文件中设置内存限制 [英] How to set memory limit in my.cnf file
问题描述
如何在my.cnf
文件中设置内存限制.我尝试了memory_limit = 64M
.但是在重新启动MYSQL服务器时显示错误.任何人都可以帮助...
How to set memory limit in my.cnf
file. I tried with memory_limit = 64M
. But its showing error while restarting MYSQL server. Any one please help...
my.cnf
[mysqld]
datadir=/home/mysql/
tmpdir=/home/mysqltmp
#max_connections = 175 #was 175
max_connections = 80
#max_connect_errors = 350 #was 250
max_connect_errors = 250
safe-show-database
skip-locking
key_buffer = 1024M # was 128M
max_allowed_packet = 6M
myisam_sort_buffer_size = 64M
#old settings, for 900 ish max maxconn
#sort_buffer_size = 32M
#read_buffer_size = 32M
#read_rnd_buffer_size = 32M
sort_buffer_size = 5M
read_buffer_size = 5M
read_rnd_buffer_size = 5M
query_cache_size= 1024M
query_cache_limit= 16M
max_heap_table_size = 128M
tmp_table_size = 128M
thread_concurrency = 16
wait_timeout = 10
innodb_file_per_table
innodb_log_file_size = 10485760
open_files_limit = 8192
low_priority_updates = 1
#log_slow_queries = /var/log/mysql_slow.log
#log_queries_not_using_indexes = 1
#slow_queries_log_file = /var/log/mysql_slow.log
memory_limit = 64M
# who set these? these are NOT memory settings, but rather integer settings.
#table_cache = 1024M
#thread_cache_size = 8M
table_cache = 512
thread_cache_size = 8
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
[myisamchk]
key_buffer = 128M
sort_buffer_size = 128M
read_buffer = 2M
write_buffer = 2M
推荐答案
在MySQL my.cnf
文件中没有像memory_limit
这样的变量.您只能从 MySQL服务器系统变量.阅读此 Mysql如何使用内存
There is no such variables like memory_limit
in MySQL my.cnf
file. You can add variables only from MySQL server system variables. Read this How Mysql uses memory
这取决于您的MySQL服务器的RAM大小.您可以根据以下用于MySQL内存需求计算的基本公式来相应地配置my.cnf
文件:
It depends on RAM size of your MySQL server. You can configure your my.cnf
file accordingly based on following basic formula for MySQL memory requirement calculation:
key_buffer_size + (read_buffer_size + sort_buffer_size) * max_connections = K bytes of memory
您可能需要配置这些基本参数.
you may need to configure these basic parameters.
对my.cnf文件中的变量进行采样:
Sample variables from my.cnf file:
#MyISAM
key_buffer_size = 8G
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 2M
join_buffer_size = 2M
#Innodb
innodb_buffer_pool_size = 16G
innodb_additional_mem_pool_size = 2G
innodb_log_file_size = 1G
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 30
innodb_file_format=barracuda
这篇关于如何在my.cnf文件中设置内存限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!