Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
04 mai 2010

mysql db databases           Bases de données


my.cnf

my.cnf

Fichier de configuration MySQL

   Les programmes suivantes supportent les fichiers d'options : myisamchk, myisampack, mysql, mysql.server, mysqladmin, mysqlbinlog, mysqlcc, mysqlcheck, mysqld_safe, mysqldump, mysqld, mysqlhotcopy, mysqlimport et mysqlshow.

  MySQL lit les fichiers suivant:

/etc/my.cnf options globales
DATADIR/my.cnf Options spécifiques au serveur généralement /usr/local/mysql/data ou /usr/local/var pour une installation source
default-extra-file le fichier spécifié par --default-extra-file=#
/.my.cnf options spécifique à l'utilisateur

   MySQL essaie de lire les fichiers d'options dans l'ordre ci-dessus. La syntaxe dans les fichiers d'options est similaire aux options de la commande, sans les doubles tirets.

#comment ou ;comment Commentaires
[group] group est le nom du programme ou du groupe pour lequel vous souhaitez configurer des options.
opt_name est équivalent à --opt_name sur la ligne de commande
opt_name=value est équivalent à --opt_name=value sur la ligne de commande
set_variable = variable=value est équivalent à --set-variable variable=value, utilisé pour spécifier une variable à mysqld.
On peut utiliser les séquences spéciales ‘\b’, ‘\t’, ‘\n’, ‘\r’, ‘\\’ et ‘\s’ dans les valeurs des options pour représenter des effacement, tabulations, nouvelles lignes, retour chariot et espaces. [client]
le group d'options [client] est lu par tous les programmes clients

Exemple

exemple de fichier d'options global typique
[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
key_buffer_size=16M
max_allowed_packet=8M

[mysqldump]
quick

exemple de fichier d'options utilisateur classique
[client]
# Le mot de passe suivant sera envoyé par tous les clients standards MySQL
password="my_password"

[mysql]
no-auto-rehash
set-variable = connect_timeout=2

[mysqlhotcopy]
interactive-timeout

Options communes à tous les programmes

--no-defaults N'utilise aucun fichier d'options.
--print-defaults Affiche le nom du programme et toutes les options qui seront lues dans les fichiers d'options.
--defaults-file=path_name Utilise uniquement le fichier d'options indiqué. path_name est le chemin complet pour y accéder.
--defaults-extra-file=path_name Lit ce fichier d'options après le fichier d'options globales, et avant le fichier d'options utilisateurs. path_name est le chemin complet pour y accéder.

On peut utiliser my_print_defaults pour analyser les fichiers d'options. il prend en argument les groupes à tester. Exemple:
my_print_defaults client mysql
--port=3306
--socket=/tmp/mysql.sock
--no-auto-rehash

mysql_multi

exemple de fichier d'options pour mysqld-multi:
[mysqld_multi]
mysqld = /usr/local/bin/safe_mysqld
mysqladmin = /usr/local/bin/mysqladmin
user = multi_admin
password = multipass

[mysqld2]
socket = /tmp/mysql.sock2
port = 3307
pid-file = /usr/local/mysql/var2/hostname.pid2
datadir = /usr/local/mysql/var2
language = /usr/local/share/mysql/english
user = john

[mysqld3]
socket = /tmp/mysql.sock3
port = 3308
pid-file = /usr/local/mysql/var3/hostname.pid3
datadir = /usr/local/mysql/var3
language = /usr/local/share/mysql/swedish
user = monty

[mysqld4]
socket = /tmp/mysql.sock4
port = 3309
pid-file = /usr/local/mysql/var4/hostname.pid4
datadir = /usr/local/mysql/var4
language = /usr/local/share/mysql/estonia
user = tonu

[mysqld6]
socket = /tmp/mysql.sock6
port = 3311
pid-file = /usr/local/mysql/var6/hostname.pid6
datadir = /usr/local/mysql/var6
language = /usr/local/share/mysql/japanese
user = jani