The my.cnf file is the main configuration file for MySQL. It defines server parameters, client options, and buffer settings that help optimize database performance. Below is a sample configuration file that can be used as a reference when setting up or tuning MySQL on your server.
MySQL sample my.cnf file Configuration
[client]
port=3306
socket=/var/lib/mysql/mysql.sock[mysqld]
port=3306
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sockskip-locking
skip-innodb
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=14400
connect_timeout=10
thread_cache_size=128
key_buffer=150M
join_buffer=1M
max_allowed_packet=16M
table_cache=1500
record_buffer=1M
sort_buffer_size=1M
read_buffer_size=1M
read_rnd_buffer_size=768K
max_connect_errors=10
thread_concurrency=4
myisam_sort_buffer_size=64M
log-bin
server-id=1[mysql.server]
user=mysql
basedir=/var/lib
[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/lib/mysql/********.pid [NOTE : here it should be server hostname]
open_files_limit=8192
[mysqldump]
quick
max_allowed_packet=16M
[mysql]
no-auto-rehash
[isamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[myisamchk]
key_buffer=64M
sort_buffer=64M
read_buffer=16M
write_buffer=16M
[mysqlhotcopy]
interactive-timeout
Notes
- Replace hostname.pid with your server’s actual hostname.
- Adjust buffer sizes, cache limits, and connection parameters according to your server resources (RAM, CPU, storage).
- These values are examples only. Always benchmark and test before deploying to production.
Conclusion
The MySQL sample my.cnf file plays a critical role in MySQL performance tuning. Use this sample as a baseline and modify it to suit your specific workload and server resources. Proper configuration can greatly improve query execution speed, concurrency handling, and overall database efficiency.