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.1 Options de ligne de commande de mysqld
Dans la plupart des cas, vous devrez modifier les options de
mysqld dans le fichier d'options. Fichier d'options
my.cnf
.
mysqld
et
mysqld.server
lisent les options des groupes
mysqld
et
server
.
mysqld_safe
lit les options
des groupes
mysqld
,
server
,
mysqld_safe
et
safe_mysqld
. Un serveur MySQL intégré lit généralement les
options dans les groupes
server
,
embedded
et
xxxxx_SERVER
, où
xxxxx
est le nom de l'application.
mysqld
accepte les options de ligne de commande suivantes :
-
--ansi
-
Utilise la syntaxe ANSI SQL au lieu de la syntaxe MySQL. Exécuter MySQL en mode ANSI .
-
-b, --basedir=path
-
Chemin jusqu'au dossier d'installation. Tous les chemins sont généralement
relatifs à celui-ci.
-
--big-tables
-
Autorise la sauvegarde de grands résultats dans des fichiers temporaires.
Cela résout le problème des erreurs 'table full', mais ralentit les
requêtes alors que des tables en mémoire suffirait. Depuis la version
version 3.23.2, MySQL est capable de résoudre automatiquement ce problème
en utilisant de la mémoire pour toutes les tables temporaires de petite
taille, et en passant sur le disque au besoin.
-
--bind-address=IP
-
L'adresse IP à utiliser.
-
--character-sets-dir=path
-
Dossier contenant les jeux de caractères. Le jeu de caractères utilisé pour les données et le stockage .
-
--chroot=path
-
Met le démon
mysqld
en environnement chroot au démarrage. Recommandé
pour la sécurité. Cela limite les commandes
LOAD DATA INFILE
et
SELECT ... INTO OUTFILE
.
-
--core-file
-
Ecrire le fichier core lorsque
mysqld
s'arrête inopinéement. Pour
certains fichiers, vous devez aussi spécifier
--core-file-size
à
safe_mysqld
.
safe_mysqld
, le script père de
mysqld
.
Notez que sur certains systèmes, comme Solaris, vous n'aurez pas
de fichier de core si vous avez aussi utilisé l'option
--user
.
-
-h, --datadir=path
-
Chemin jusqu'au dossier des bases.
-
--debug[...]=
-
Si MySQL est configuré avec
--with-debug
, vous pouvez utiliser
cette option pour obtenir un fichier de trace de ce que
mysqld
fait.
Créer des fichiers de traçage .
-
--default-character-set=charset
-
Spécifie le jeu de caractères par défaut. Le jeu de caractères utilisé pour les données et le stockage .
-
--default-table-type=type
-
Spécifie le type de table par défaut. Types de tables MySQL .
-
--delay-key-write[= OFF | ON | ALL]
-
Comment l'option des tables MyISAM
DELAYED KEYS
doit être utilisé. Choix des paramètres du serveur .
-
--delay-key-write-for-all-tables; En MySQL 4.0.3 vous devez utiliser --delay-key-write=ALL à la place.
-
Ne vide pas les buffers de clés entre deux écritures pour les tables
MyISAM
.
Choix des paramètres du serveur .
-
--des-key-file=filename
-
Lit les clés par défaut utilisées par
DES_ENCRYPT()
et
DES_DECRYPT()
dans ce fichier.
-
--enable-external-locking (was --enable-locking)
-
Active le verrouillage système. Notez que si vous utilisez cette option
sur un système pour qui
lockd
ne fonctionne pas (comme Linux), vous
allez bloquer rapidement mysqld avec les verrous.
-
--enable-named-pipe
-
Active le support des tunnels nommés (seulement sur NT/Win2000/XP).
-
-T, --exit-info
-
Cette option est la combinaison d'options que vous pouvez utiliser
pour le débogage du serveur mysqld; Si vous ne savez pas ce que ca fait
exactement, ne les utilisez pas !
-
--flush
-
Ecrit toutes les données sur le disque après chaque requête SQL. Normalement,
MySQL fait des écritures sur le disque après chaque requête, et
laisse le système d'exploitation assurer la synchronisation avec le disque.
Que faire si MySQL crashe constamment .
-
-?, --help
-
Affiche l'aide courte et termine le programme.
-
--init-file=file
-
Lit les commandes SQL dans ce fichier au démarrage.
-
-L, --language=...
-
Spécifie la langue utilisée pour les messages d'erreur du client.
Le chemin complet doit être utilisé.
Messages d'erreurs non-anglophones .
-
-l, --log[=file]
-
Enregistre les connexions et les requêtes dans ce fichier. Le log général de requêtes .
-
--log-isam[=file]
-
Enregistre toutes les modifications des tables ISAM/MyISAM dans ce fichier
(uniquement nécessaire pour déboguer ISAM/MyISAM).
-
--log-slow-queries[=file]
-
Enregistre toutes les requêtes qui ont pris plus de
long_query_time
secondes
a s'exécute, dans ce fichier. Le log des requêtes lentes .
-
--log-update[=file]
-
Enregistre les modifications dans le fichier
file.#
où
#
est un
nombre unique si il n'est pas précisé. Le log des mises à jour .
-
--log-long-format
-
Enregistre des informations supplémentaires dans le fichier d'historique.
Si vous utilisez l'option
--log-slow-queries
, alors les requêtes
que vous qui n'utilisent pas les index sont enregistrées dans le
log de requêtes longues.
-
--low-priority-updates
-
Les opérations de modifications de table (
INSERT
/
DELETE
/
UPDATE
)
auront une priorité inférieure aux sélections. Cela peut être aussi fait via
l'attribut
{INSERT | REPLACE | UPDATE | DELETE} LOW_PRIORITY ...
pour baisser la priorité d'une requête, ou avec
SET LOW_PRIORITY_UPDATES=1
pour changer la priorité dans plus d'un
thread. Problèmes avec le verrouillage de tables .
-
--memlock
-
Verrouille le processus
mysqld
en mémoire. Cela fonctionne si votre
système support la fonction
mlockall()
(comme Solaris). Ceci peut être
utile si vous avez des problèmes avec le système d'exploitation qui
force
mysqld
a utiliser le swap sur le disque.
-
--myisam-recover [=option[,option...]]]
-
Cette option est la combinaison de
DEFAULT
,
BACKUP
,
FORCE
et
QUICK
.
Vous pouvez aussi lui donner la valeur explicite de
""
si vous voulez
désactiver cette option. Si cette option est utilisée,
mysqld
va vérifier
si la table est marquée comme corrompue à l'ouverture de chaque table
(cette dernière option ne fonctionne que si vous utilisez l'option
--skip-external-locking
). Si c'est le cas,
mysqld
va essayer de
vérifier la table. Si la table était corrompue,
mysqld
essaie alors
de la réparer.
L'option suivante va affecter la manière avec la quelle la réparation
s'effectue.
Option
|
Description
|
DEFAULT |
Identique à ne pas donner d'option à
--myisam-recover
.
|
BACKUP |
Si la table a été modifiée durant la réparation,
sauver une copie du fichier
table_name.MYD
, sous le nom de
table_name-datetime.BAK
.
|
FORCE |
Exécute une réparation même si nous allons perdre une ou
plusieurs lignes dans le fichier .MYD.
|
QUICK |
Ne vérifie pas les lignes dans la table si il n'y a pas eu
d'effacement.
|
Avant que la table ne soit automatiquement réparée, MySQL va ajouter une note
dans le fichier de log d'erreurs. Si vous voulez être capable de restaurer la plupart
des erreurs sans intervention de l'utilisateur, il vaut utiliser les
options
BACKUP,FORCE
. Cela va forcer la réparation de la table, même
si quelques lignes sont effacées, et conserve le vieux fichier de données comme
sauvegarde, pour examen ultérieur.
-
--pid-file=path
-
Le chemin jusqu'au fichier de pid utilisé par
safe_mysqld
.
-
-P, --port=...
-
Numéro de port utilisé pour attendre les connexion TCP/IP.
-
-o, --old-protocol
-
Utilise le protocole 3.20, pour la compatibilité avec de très vieux clients.
Passer de la version 3.20 à la version 3.21 .
-
--one-thread
-
Utilise uniquement un thread (pour débogage sous Linux). Déboguer un serveur MySQL .
-
-O, --set-variable var=option
-
Donne une valeur à une variable.
--help
liste ces variables. Vous pouvez
trouver une description complète des variables dans la section sur la commande
SHOW VARIABLES
de ce manuel.
SHOW VARIABLES
. La section de
paramétrage inclut des informations sur comment exploiter ces variables.
Notez que
--set-variable
est obsolète depuis MySQL 4.0, utilisez simplement
la syntaxe
--var=option
.
Choix des paramètres du serveur .
En MySQL 4.0.2, il est possible de changer une variable directement
avec la syntaxe
--variable-name=option
et
set-variable
n'est
plus nécessaire dans le fichier de configuration.
Si vous voulez restreindre la valeur maximale que peut prendre une option
via la commande
SET
, vous pouvez définir une limite en utilisant l'option
de ligne de commande
--maximum-variable-name
. Syntaxe de
SET
.
Notez que lorsque vous donnez une valeur à une variable,
MySQL peut corriger automatiquement votre valeur pour rester dans un
intervalle donné, et ajuster un peu la valeur pour qu'elle soit optimale.
-
--safe-mode
-
Ignore certains étapes d'optimisation.
-
--safe-show-database
-
Avec cette option, la commande
SHOW DATABASES
retourne uniquemnt
les bases pour lesquelles l'utilisateur a des droits. Depuis la version 4.0.2,
cette option est abandonnée, et ne fait plus rien
(l'option est activée par défaut) car nous avons désormais le droit de
SHOW DATABASES
. Syntaxe de
GRANT
et
REVOKE
.
-
--safe-user-create
-
Si cette option est activée, un utilisateur ne peut pas créer de nouveaux
utilisateurs avec la commande GRANT si l'utilisateur n'a pas les droits de
INSERT
dans la table
mysql.user
ou dans aucune colonne de
cette table.
-
--skip-bdb
-
Désactive l'utilisation des tables BDB. Cela va économiser de la mémoire et
accélérer le serveur un peu.
-
--skip-concurrent-insert
-
Désactive la possibilité de sélectionner et insérer en même temps dans les tables
MyISAM
(cela n'est utile que si vous pensez que vous avez trouvé un
bug dans cette fonctionnalité).
-
--skip-delay-key-write; En MySQL 4.0.3, il est recommandé d'utiliser l'option
-
--delay-key-write=OFF à la place. Ignorez l'option
DELAY_KEY_WRITE
de toutes les
tables. Choix des paramètres du serveur .
-
--skip-grant-tables
-
Cette option force le serveur à ne pas utiliser le système de privilège du tout.
Cela donne à tous l'
accès complet
à toutes les bases de données ! Vous
pouvez demander à un serveur en exécution d'utiliser à nouveau les tables de
droits en exécutant la commande
mysqladmin flush-privileges
ou
mysqladmin reload
).
-
--skip-host-cache
-
Ne pas utiliser le cache de nom de domaine pour une résolution des IP plus rapide,
mais interroger le serveur DNS à chaque connexion. Comment MySQL utilise les DNS .
-
--skip-innodb
-
Désactive l'utilisation des tables Innodb. Cela va économiser de la mémoire et
accélérer le serveur un peu.
-
--skip-external-locking (ancien --skip-locking)
-
Ne pas utiliser le verrouillage du système. Pour utiliser les utilitaires
isamchk
ou
myisamchk
vous devez alors éteindre le système.
Degré de stabilité de MySQL . Notez qu'en MySQL version
3.23 vous pouvez utiliser la commande
REPAIR
et
CHECK
pour
réparer ou vérifier des tables
MyISAM
tables.
-
--skip-name-resolve
-
Les noms d'hôtes ne sont pas résolus. Toutes les colonnes
Host
dans vos tables
de droits doivent être des IP numériques ou le mot
localhost
. Comment MySQL utilise les DNS .
-
--skip-networking
-
Ne pas attendre les connexions TCP/IP du tout. Toutes les interactions du
serveur
mysqld
seront faites avec les sockets Unix. Cette option
est particulièrement recommandée pour les systèmes qui utilisent des
requêtes locales. Comment MySQL utilise les DNS .
-
--skip-new
-
Ne pas utiliser les nouvelles routines qui sont possiblement erronées.
-
--skip-symlink
-
Ne pas effacer ou renommer les fichiers qui ont un lien symbolique dans le
dossier de données.
-
--skip-safemalloc
-
Si MySQL est configuré avec
--with-debug=full
, tous les programmes
vérifieront la mémoire pour rechercher les écrasment de zone lors des
allocations et libérations de mémoire. Comme ce test est lent, vous pouvez
l'éviter, si vous n'avez pas besoin de tester la mémoire, en utilisant cette
option.
-
--skip-show-database
-
Ne pas autoriser la commande
SHOW DATABASES
, a moins que l'utilisateur
n'ait les droits de
SHOW DATABASES
. Depuis la version 4.0.2, vous
n'avez plus besoin de cette option, car les droits pour ce faire sont
distribués avec le droit de
SHOW DATABASES
.
-
--skip-stack-trace
-
Ne pas écrire les piles de traces. Cette option est pratique lorsque
vous utilisez
mysqld
avec un débogueur. Sur certains systèmes,
vous devez aussi utiliser cette option pour obtenir un fichier
de core. Déboguer un serveur MySQL .
-
--skip-thread-priority
-
Désactive la priorisation des threads pour améliorer la vitesse
de réponse.
-
--socket=path
-
Le fichier de socket à utiliser pour les connexions locales, au
lieu du fichier par défaut
/tmp/mysql.sock
.
-
--sql-mode=option[,option[,option...]]
-
Cette option peut être la combinaison de :
REAL_AS_FLOAT
,
PIPES_AS_CONCAT
,
ANSI_QUOTES
,
IGNORE_SPACE
,
SERIALIZE
et
ONLY_FULL_GROUP_BY
. Ellep peut aussi
être vide (
""
) si vous voulez remettre cette option à 0.En spécifiant toutes les options ci-dessus, vous obtiendrez le
même effet qu'avec l'option --ansi. Avec cette option, vous pouvez
activer les modes SQL dont vous avez besoin. Exécuter MySQL en mode ANSI .
-
--temp-pool
-
En utilisant cette option, vous allez réduire le jeu de noms qui sont utilisés
lors de la création de fichier temporaires, plutôt qu'un nom unique
à chaque fois. Ceci est un palliatif au noyau Linux qui crèe plusieurs
fichiers nouveaux avec des noms différents. Avec l'ancien comportement,
Linux semble 'perdre de la mémoire', car ils sont alloués au cache d'entrées
du dossier au lieu de celui du disque.
-
--transaction-isolation= { READ-UNCOMMITTED | READ-COMMITTED | REPEATABLE-READ | SERIALIZABLE }
-
Configure le niveau d'isolation des transactions. Syntaxe de
SET TRANSACTION
.
-
-t, --tmpdir=path
-
Chemin vers les fichiers temporaires. Il peut s'avérer pratique si votre
dossier par défaut
/tmp
réside dans une partition qui est trop petite
pour absorber les tables temporaires.
-
-u, --user= [user_name | userid]
-
Exécute le démon
mysqld
avec l'utilisateur
user_name
ou
userid
(numérique).
Cette option est
obligatoire
lorsque vous démarrez
mysqld
en tant
que root.
-
-V, --version
-
Affiche les informations de version.
-
-W, --log-warnings (Was --warnings)
-
Enregistre les alertes comme
Aborted connection...
dans le fichier
.err
.
Erreurs de communication / connexion annulée .
Il est possible de modifier la plupart des valeurs durant l'exécution,
avec la commande
SET
command. Syntaxe de
SET
.
|