Services webmasters
Partenaires
Jeux concours gratuits
 
Options de ligne de commande de mysqld
<<<
Fichier d'options my.cnf Installer plusieurs serveurs sur la même machine
>>>

4.1 Configuration de MySQL
4 Administration du serveur
 Manuel de Référence MySQL 4.1 : Version Française

Options de ligne de commande de mysqld
->Fichier d'options my.cnf
Installer plusieurs serveurs sur la même machine
Faire fonctionner plusieurs serveurs MySQL sur la même machine

4.1.2 Fichier d'options my.cnf

MySQL peut, depuis la version 3.22, lire des options de démarrage par défaut pour le serveur en ligne de commande, et, par le client, dans un fichier.

MySQL lit les options par défaut dans les fichiers suivants sous Unix :

Fichier Objet
/etc/my.cnf Options globales
DATADIR/my.cnf Options spécifiques au serveur
defaults-extra-file Le fichier spécifié par --defaults-extra-file=#
~/.my.cnf Options spécifiques à l'utilisateur

DATADIR est le dossier de données de MySQL (typiquement /usr/local/mysql/data pour les installation binaires ou /usr/local/var pour une installation source). Notez que c'est ce dossier qui a été spécifié au moment de la configuration et non pas le dossier de l'option --datadir lorsque mysqld démarre ! ( --datadir n'a aucun effet sur le serveur, car le serveur recherche les données avant de traiter les options de ligne de commande).

MySQL lit les fichiers d'options suivants sous Windows :
Fichier Contenu
windows-system-directory\my.ini Options globales
C:\my.cnf Options globales
Notez que sous Windows, vous devez spécifier les chemins avec / plutôt que \ . Si vous utilisez \ , vous devez le spécifier deux fois, car \ est un caractère de protection pour MySQL.

MySQL essaie de lire les fichiers d'options dans l'ordre dans lequel ils sont présentés ci-dessus. Si des options sont spécifiées plusieurs fois, la dernière occurrence utilisée prend la préséeance sur les options spécifiées avant. Les options de ligne de commande ont la priorité sur les options spécifiées dans les fichiers. Certaines options peuvent être spécifiées en utilisant des variables d'environnement. Les options spécifiées en ligne de commande ou en fichier ont la priorité sur les options qui le sont via une variable d'environnement. Variables d'environnement MySQL .

Les programmes suivants utilisent les fichiers d'options : mysql , mysqladmin , mysqld , mysqld_safe , mysql.server , mysqldump , mysqlimport , mysqlshow , mysqlcheck , myisamchk et myisampack .

Toute option longue qui doit être spécifiée en ligne de commande lorsque MySQL fonctionne, peut être aussi configurée dans le fichier d'options ( sans les doubles tirets). Exécutez le programme avec l'option --help pour avoir une liste des options disponibles.

Un fichier d'options contient des lignes ayant la forme suivante :
    #comment
    Les lignes de commentaires commencent avec '#' ou ';' . Les lignes vides sont ignorées.
    [group]
    group est le nom du programme ou du groupe pour lequel vous souhaitez configurer des options. Après une ligne de groupe, toutes les option et set-variable s'appliqueront au groupe nommé, jusqu'à la fin du fichier d'option ou du démarrage d'un autre groupe.
    option
    Ceci est équivalent à --option sur la ligne de commande.
    option=value
    Ceci est équivalent à --option=value sur la ligne de commande.
    set-variable = variable=value
    Ceci est équivalent à --set-variable variable=value sur la ligne de commande. Cette syntaxe doit être utilisée pour spécifier la valeur d'une variable mysqld . Notez que --set-variable est obsolète depuis MySQL 4.0, utilisez simplement --variable=value comme tel.
Le groupe client vous permet de spécifier des options qui ne s'appliquent qu'aux clients MySQL et non pas au serveur mysqld . C'est le groupe idéal pour spécifier des mots de passe de connexion au serveur (mais assurez-vous que vous êtes le seul à accéder à ce fichier !!).

Notez que pour les options et les valeurs, tous les caractères blancs de début et de fins seront automatiquement effacés. Vous pouvez utiliser les séquences d'échappement '\b' , '\t' , '\n' , '\r' , '\\' et '\s' dans votre chaîne à la place ( '\s' == espace).

Voici un exemple typique de fichier d'options globales :

[client]
port=3306
socket=/tmp/mysql.sock

[mysqld]
port=3306
socket=/tmp/mysql.sock
set-variable = key_buffer_size=16M
set-variable = max_allowed_packet=1M

[mysqldump]
quick
Voici un exemple typique de fichier d'options utilisateur :

[client]
# Le mot de passe suivant va être utilisé avec le serveur
password=mon_mot_de_passe

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

[mysqlhotcopy]
interactive-timeout
Si vous avez une distribution source, vous trouverez des exemples de configuration dans les fichiers nommés my-xxxx.cnf dans le dossier support-files . Si vous avez une distribution binaire, regardez dans le dossier DIR/support-files , où DIR est le chemin de l'installation MySQL (typiquement /usr/local/mysql ). Actuellement, il y a des exemples de configuration pour des systèmes petits, moyens, grands et très grands. Vous pouvez copier l'un des fichiers my-xxxx.cnf dans votre dossier utilisateur (renommez le fichier en .my.cnf ) pour le tester.

Tous les clients MySQL qui supportent les fichiers d'options, acceptent les options suivantes :

Option Description
--no-defaults Ne lire aucun fichier d'options.
--print-defaults Affiche le nom du programme et toutes les options qui s'y trouvent.
--defaults-file=full-path-to-default-file Utilise uniquement le fichier de configuraiton donné.
--defaults-extra-file=full-path-to-default-file Lit ce fichier de configuration après le fichier de configuration global, mais avant le fichier de configuration utilisateur.

Notez que les options ci-dessus doivent être en ligne de commande pour être utilisées ! --print-defaults peut quand même être utilisé directement après la commande --defaults-xxx-file .

Note pour les développeurs : la gestion des fichiers d'options est implémentée simplement en traitant toutes les options qui correspondent (c'est à dire, toutes les options appropriées du groupe), avant les arguments de ligne de commande. Cela fonctionne bien pour les programmes qui utilisent la dernière occurrence comme valeur d'option, si elle est spécifiée plusieurs fois. Si vous avez un vieux programme qui traite les options multiples de cette façon mais ne lit pas les fichiers d'options, vous n'avez besoin que de deux lignes pour qu'il accepte cette fonctionnalité. Récupérez le code source de n'importe quel client MySQL standard pour voir comment le faire.

En scripts shell, vous pouvez utiliser la commande my_print_defaults pour analyser les fichiers de configuration :


shell> my_print_defaults client mysql
--port=3306
--socket=/tmp/mysql.sock
--no-auto-rehash
La ligne ci-dessus affiche toutes les options pour les groupes 'client' et 'mysql'.

<< Fichier d'options my.cnf >>
Options de ligne de commande de mysqld Configuration de MySQL Installer plusieurs serveurs sur la même machine
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -