Smallest MySQL install my.cnf ... Anyone?


100% Tier-1 Gogent
Anyone using/have/recommend a very small my.cnf config for 128MB or less RAM server?

Know the topic has been punted around here and there.   Never bookmarked and/or tried one.  Today is one of those days to experiment.

Anyone have one?


Active Member
Verified Provider
This is default mysql config for smaller system. Supposed to be for system with ~64mb ram.

# Example MySQL config file for small systems.


# This is for a system with little memory (<= 64M) where MySQL is only used

# from time to time and it's important that the mysqld daemon

# doesn't use much resources.


# MySQL programs look for option files in a set of

# locations which depend on the deployment platform.

# You can copy this option file to one of those

# locations. For information about these locations, see:



# In this file, you can use all long options that a program supports.

# If you want to know which options a program supports, run the program

# with the "--help" option.


# The following options will be passed to all MySQL clients


#password       = your_password

port            = 3306

socket          = /var/lib/mysql/mysql.sock


# Here follows entries for some specific programs


# The MySQL server


port            = 3306

socket          = /var/lib/mysql/mysql.sock


key_buffer_size = 16K

max_allowed_packet = 1M

table_open_cache = 4

sort_buffer_size = 64K

read_buffer_size = 256K

read_rnd_buffer_size = 256K

net_buffer_length = 2K

thread_stack = 128K


# Don't listen on a TCP/IP port at all. This can be a security enhancement,

# if all processes that need to connect to mysqld run on the same host.

# All interaction with mysqld must be made via Unix sockets or named pipes.

# Note that using this option without enabling named pipes on Windows

# (using the "enable-named-pipe" option) will render mysqld useless!



server-id       = 1


# Uncomment the following if you want to log updates



# binary logging format - mixed recommended



# 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

# 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_size = 8M

sort_buffer_size = 8M






Active Member
You may want to try this:

$ cat my.cnf
port = 3306
socket = /var/run/mysqld/mysqld.sock
socket = /var/run/mysqld/mysqld.sock
nice = 0
user = mysql
pid-file = /var/run/mysqld/
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
lc-messages-dir = /usr/share/mysql
bind-address =
key_buffer = 8M
max_allowed_packet = 1M
thread_stack = 192K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 4M
expire_logs_days = 10
max_binlog_size = 100M
max_allowed_packet = 1M
key_buffer = 8M
!includedir /etc/mysql/conf.d/

Anything in MBs can be reduced further if you see a problem. This is based on Minstall's config values. It is forced to use MyISAM instead of default InnoDB.