Wednesday, March 19, 2008

How to Optimize MySQL

You can refer the following instructions :

vi /etc/my.cnf [ENTER]

Press 'i' to enter insert mode, then paste:

[mysqld]
skip-locking
skip-innodb
query_cache_limit=1M
query_cache_size=32M
query_cache_type=1
max_connections=500
interactive_timeout=100
wait_timeout=100
connect_timeout=10
thread_cache_size=128
key_buffer=16M
join_buffer=1M
max_allowed_packet=16M
table_cache=1024
record_buffer=1M
sort_buffer_size=2M
read_buffer_size=2M
max_connect_errors=10
# Try number of CPU's*2 for thread_concurrency
thread_concurrency=2
myisam_sort_buffer_size=64M
log-bin
server-id=1

[safe_mysqld]
err-log=/var/log/mysqld.log
open_files_limit=8192

[mysqldump]
quick
max_allowed_packet=16M

[mysql]
no-auto-rehash
#safe-updates

[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

Press ctrl-c to exit insert mode. Then press shift-Z shift-Z to save and quit. Restart mysqld:
Redhat:

/sbin/service mysqld restart

FreeBSD:

/usr/local/etc/rc.d/mysqld restart

Note that this guide is only for MySQL 4. There is a default my.cnf that comes with mysql that will work fine

cp -f /usr/share/mysql/my-huge.cnf /etc/my.cnf

No comments: