Percona, as you mentioned, does not install a default
my.cnf deliberately. Their MySQL builds aim for high performance and since there is no one-size-fits-all configuration that would be suitable for everyone, they don't install one on purpose. It's up to the administrator to decide which configuration options will suit this installation and the given workload better.
However Percona ships with a lot of examples, each example based on the expected workload size. The configurations differ mostly by the size of the buffers and the caches allocated. There are the following configuration examples:
- my-innodb-heavy-4G.cnf (apporpriate for 4GB+ memory installation with InnoDB and heavy queries)
- my-huge.cnf (appropriate for 2GB+ memory installation dedicated MySQL)
- my-large.cnf (appropriate for 512MB memory installations dedicated MySQL server)
- my-medium.cnf (appropriate for 128MB memory installations, small DB along with web server)
- my-small.cnf (appropriate for 64MB memory installation, sporadic use of the database)
The memory above is the memory which is (expected to be) allocated to the MySQL process alone.
You will find the sample configurations in:
You should simple choose one and copy it to
$ sudo cp -i /usr/share/mysql/my-medium.cnf /etc/mysql/my.cnf
The configuration alone will rarely make it or break it. Most of the time the configuration depends on the type of the application and the queries you run, as well as the expected workload. And if you reach the size or requirements of
my-huge.cnf then you probably know what you are doing or you should start reading books and articles online on how to optimize MySQL!
The path to the configuration is based on the prebuilt deb binaries of Percona 5.5.24 for Ubuntu 12.04 (Precise)