Configuring MySQL for Low Memory VPS

I’ve found the following configuration helps when you’re trying to squeeze out as much memory from a VPS as possible.


port = 3306
socket = /var/lib/mysql/mysql.sock
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K

# For low memory, Berkeley DB should not be used so keep skip-bdb uncommented unless required

# For low memory, InnoDB should not be used so keep skip-innodb uncommented unless required

# 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_log_arch_dir = /var/lib/mysql/
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
#innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
#innodb_log_file_size = 5M
#innodb_log_buffer_size = 8M
#innodb_flush_log_at_trx_commit = 1
#innodb_lock_wait_timeout = 50

max_allowed_packet = 16M

# Remove the next comment character if you are not familiar with SQL

key_buffer = 8M
sort_buffer_size = 8M

key_buffer = 8M
sort_buffer_size = 8M



You May Also Like

Microsoft changes their mind about allowing virtulization of Vista Home and Premium

No virtualization for home or premium? Is a ploy to take more money back from the consumer to buy the "super-duper-more-expensive" version so that you can do virtualization?
Microsoft ditches about-face on virtualization restrictions at 11th hour -

Microsoft this week was about to relent and allow the (legal) virtualization of Windows Vista Home Premium and Home Basic. Then the company pulled the plug on the announcement, but there are signs that a change is still possible.


[Ars Technica]