Out of the box MySQL leaves a lot to be desired, especially if you want to scale your JSS up for a more robust and larger client base. Since the JSS can be ran on many different platforms and not every platform is the same you will be looking at editing the my.cnf file. Except in Windows you may have a my.ini file. In Windows you can technically have both, so this may be confusing, but the MySQL documentation says you should only use one. Refer to the documentation here:
http://dev.mysql.com/doc/refman/5.1/en/windows-create-option-file.html
I don't run MySQL on windows boxes, so I cannot confirm/deny the most efficient way to set it up.
In Linux/Unix the configuration file will most likely be located in /etc/my.cnf. Different platforms and installs may have different configurations and of course you can always customize it. It is also located in /etc/my.cnf in OS X Server.
So, edit the file with either a plain text editor or command line and find this section:
# The MySQL server
[mysqld]
port = 3306
socket = /var/mysql/mysql.sock
skip-locking
key_buffer = 256M
max_allowed_packet = 256M
expire_logs_days = 10
table_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
The two things I have changed here that make a real huge difference is max_allowed_packet and expire_logs_days. The max packet setting allows the MySQL server that amount of memory to address a single blob in your database. Once a blob gets too big, it cannot access it. Meaning you cannot read/write to it, which also means you cannot delete it. The expire logs days setting tells the database when to dump the binary logs. These are default back ups the database dumps on a scheduled basis but it never deletes the old ones. This can chew up hard drive space with a large database, so I have it only keep binary logs for 10 days.
There are obviously a lot of things you can do to MySQL to tweak it. These two things are the ones I found I needed to tweak for larger environments. Of course you need to restart MySQL for this to take effect.
-Tom
