Les variables du serveur mysql sont stockés dans /etc/my.cnf

mysqld
port            = 3306
socket          = /var/lib/mysql/mysql.sock
skip-locking
set-variable    = max_allowed_packet=1M
set-variable    = table_cache=512
set-variable    = record_buffer=2M
set-variable    = thread_cache=8
#set-variable   = thread_concurrency=4  # Try number of CPU's*2
set-variable    = myisam_sort_buffer_size=64M

set-variable    = query_cache_size=0 # Désactive l'utilisation du cache
set-variable    = sort_buffer_size=10M
set-variable    = read_buffer_size=4M
set-variable    = key_buffer_size=1G
set-variable    = join_buffer_size=2M

Ou modifiables à chaud en utilisant les requêtes suivantes

SET GLOBAL join_buffer_size=2097152;	# 2M
SET GLOBAL key_buffer_size=1073741824;	# 1G
SET GLOBAL read_buffer_size=4194304;	# 4M
SET GLOBAL sort_buffer_size=10485760;	#10M 

join_buffer_size

La taille du buffer qui est utilisée pour les jointures complètes (les jointures qui n'utilisent pas d'index). Ce buffer est alloué une fois pour chaque jointure entre deux tables. Augmentez cette valeur si vous voulez obtenir des jointures plus rapides, lorsque l'ajout d'index n'est pas possible. Normalement, le mieux est d'ajouter de bons index.

key_buffer_size

Les blocs d'index des tables MyISAM et ISAM sont mis en buffer et partagés par tous les threads. key_buffer_size est la taille du buffer utilisé. Le buffer de clé est aussi appelé le cache de clé.

Augmentez cette valeur pour obtenir une meilleure gestion des index (pour les lectures et écritures multiples), autant que vous le pouvez : 64 Mo sur une machine de 256 Mo est une valeur répandue. Toutefois, si vous utilisez une valeur trop grande (par exemple, plus de 50% de votre mémoire totale), votre système risque de commencer à utiliser sa mémoire swap, et devenir très lent. N'oubliez pas que MySQL ne met pas en cache les données lues, et il faut laisser le système d'exploitation respirer.

Pour obtenir encore plus de vitesse lors de l'écriture de plusieurs lignes en même temps, utilisez LOCK TABLES.

read_buffer_size

Chaque thread qui fait une recherche séquentielle alloue un buffer de cette taille pour son scan. Si vous faites de nombreux scan séquentiels, vous pourriez avoir besoin d'augmenter cette valeur. Cette variable a été ajoutée en MySQL 4.0.3. Auparavant, cette variable s'appelait record_buffer.

sort_buffer_size

Chaque thread qui doit faire un tri alloue un buffer de cette taille. Augmentez cette taille pour accélérer les clauses ORDER BY ou GROUP BY.

Florian propose l'essentiel de la configuration mysql. Et le site officiel de mysql explique ses variables de paramétrage d'un serveur mysql.