自宅サーバーのmy.cnf
自宅サーバーのメモリは8GBです。このメモリを使ってMySQLのパフォーマンスを向上させるために、my.cnfは以下の設定にしています。innodb_buffer_pool_sizeとquery_cache_sizeは、メモリに比べると大きめに取っていますが、他のNginxなどはあまりメモリを消費しないので問題ないようです。
my.cnfの中身
[mysqld]
port = 3306
socket = /var/run/mysql/mysql.sock
datadir = /var/lib/mysql
skip-external-locking
bind-address=127.0.0.1
# buffers
key_buffer = 128M
max_allowed_packet = 16M
table_cache = 1024
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 2M
myisam_sort_buffer_size = 64M
max_connections = 512
thread_cache_size = 128
query_cache_size = 512M
innodb_buffer_pool_size=6G
innodb_additional_mem_pool_size=20M
innodb_flush_method=O_DIRECT
innodb_log_file_size=256M
innodb_log_files_in_group=2
innodb_log_buffer_size=64M
innodb_flush_log_at_trx_commit=1