2012-08-24 14 views
16

my.cnf फ़ाइल में मेमोरी सीमा कैसे सेट करें। मैंने memory_limit = 64M के साथ प्रयास किया। लेकिन MYSQL सर्वर को पुनरारंभ करते समय यह त्रुटि दिखा रहा है। किसी भी एक कृपया मदद ...my.cnf फ़ाइल में मेमोरी सीमा कैसे सेट करें

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 
+2

आपको क्या त्रुटि मिल रही है? –

+0

शायद मैं गलत हूं, लेकिन 'memory_limit' PHP कॉन्फ़िगरेशन नहीं है? अधिक: 'my.cnf' MySQL के बारे में है, SQL सर्वर नहीं ... – Marco

+0

@Aaron हैथवे मुझे यह मिल रहा है कि यह 'mysql विफल हो गया है, कृपया sysadmin से संपर्क करें (परिणाम" mysql नहीं चल रहा है ")। – Juice

उत्तर

23

वहाँ MySQL my.cnf फ़ाइल में memory_limit की तरह ऐसी कोई चर है। आप केवल MySQL server system variables से चर जोड़ सकते हैं। इसे पढ़ें How Mysql uses memory

यह आपके MySQL सर्वर के रैम आकार पर निर्भर करता है। आप तदनुसार MySQL स्मृति आवश्यकता गणना के लिए बुनियादी सूत्र निम्नलिखित के आधार पर अपने my.cnf फ़ाइल कॉन्फ़िगर कर सकते हैं:

key_buffer_size + (read_buffer_size + sort_buffer_size) * max_connections = K bytes of memory 

आप इन बुनियादी मानकों को विन्यस्त करने की जरूरत हो सकती है। my.cnf फ़ाइल से

नमूना चर:

#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 
+0

क्या आपके सर्वर में 16 जी रैम है? –

1

वहाँ MySQL में कोई memory_limit सीमा सेटिंग है। MySQL के मेमोरी उपयोग को प्रबंधित या सीमित करने का एकमात्र तरीका कैश, बफर और पूल आकारों के लिए सेटिंग्स को कम करना है (सटीक सेटिंग नाम आपके द्वारा उपयोग किए जा रहे स्टोरेज इंजन पर निर्भर करते हैं। कुछ सेटिंग्स जो MyISAM इंजन के लिए लागू होती हैं (डिफ़ॉल्ट इंजन) है:

table_cache=1024 
record_buffer=1M 
sort_buffer_size=2M 
read_buffer_size=2M 
read_rnd_buffer_size=2M 
myisam_sort_buffer_size=64M 
thread_cache_size=128 
query_cache_limit=1M 
query_cache_size=64M 
query_cache_type=1 

InnoDB के लिए आपके पास:

innodb_buffer_pool_size = 256M 
innodb_additional_mem_pool_size = 20M 
innodb_log_file_size = 64M 
innodb_log_buffer_size = 8M 

आप PHP कि लाइन (memory_limit = 64M) php.ini फ़ाइल में होना चाहिए में स्मृति सीमा बदलने के लिए देख रहे हैं, my.cnf नहीं है जो MySQL के लिए कॉन्फ़िगरेशन फ़ाइल है।

संबंधित मुद्दे