safe_mysqld
est la méthode recommandée pour
démarrer un démon mysqld
sous Unix.
safe_mysqld
ajoute des fonctionnalités de
sécurité telles que le redémarrage automatique lorsqu'une
erreur survient et l'enregistrement d'informations d'exécution
dans un fichier de log.
Note: Avant MySQL 4.0,
mysqld_safe
s'appelait
safe_mysqld
. Pour préserver la
compatibilité ascendante, la distribution binaire MySQL propose
un lien symbolique de safe_mysqld
vers
mysqld_safe
.
Par défaut, mysqld_safe
essaie de lancer
l'exécutable appelé mysqld-max
s'il existe,
ou mysqld
sinon. Cela a des implications :
Sous Linux, le RPM
MySQL-Max
dépend de
mysqld_safe
. Le RPM
installe un exécutable appelé
mysqld-max
, qui fait que
mysqld_safe
va automatiquement utiliser
l'exécutable installé
Si vous installez la distribution
MySQL-Max
qui incluent un serveur appelé
mysqld-max
, puis que vous le mettez à
jour avec une version non-max,
mysqld_safe
va essayer d'utiliser
l'ancien serveur mysqld-max
. Si vous
faites une telle mise à jour, supprimez manuellement
l'ancien serveur mysqld-max
pour vous
assurer que mysqld_safe
utilise le
nouveau mysqld
.
Pour remplacer le comportement par défaut et spécifier
explicitement le serveur que vous voulez utiliser, spécifiez
l'option --mysqld
ou
--mysqld-version
avec
mysqld_safe
.
De nombreux options de mysqld_safe
sont
identiques aux options de mysqld
. See
Section 5.2.1, « Options de ligne de commande de mysqld
».
Toutes les options spécifiées avec
mysqld_safe
en ligne de commande sont
passées à mysqld
. Si vous voulez utiliser
des options qui sont spécifiques à
mysqld_safe
et que mysqld
ne les supporte pas, ne les spécifiez pas en ligne de commande.
Au lieu de cela, listez les dans le groupe
[mysqld_safe]
du fichier d'options. See
Section 4.3.2, « Fichier d'options my.cnf
».
mysqld_safe
lit toutes les options des
groupes [mysqld]
, [server]
et [mysqld_safe]
dans le fichier d'options.
Pour assurer la compatibilité ascendante, il lit aussi le
groupe [safe_mysqld]
. Vous devriez renommer
ces sections [mysqld_safe]
lorsque vous
passez à MySQL 4.0 ou plus récent.
safe_mysqld
supporte les options suivantes :
--basedir=path
Le chemin jusqu'à l'installation de MySQL.
--core-file-size=#
Taille du fichier core
que
mysqld
doit être capable de créer. Il
est passé à ulimit -c
.
--datadir=path
Le chemin jusqu'au dossier de données.
--defaults-extra-file=path
Le nom du fichier d'options à lire en plus des fichiers habituels.
--defaults-file=path
Le nom d'un fichier d'options qui doit être lu à la place du fichier d'options habituel.
--err-log=path
L'ancienne option --log-error
, à utiliser
avant MySQL 4.0.
--ledir=path
Le chemin jusqu'au dossier contenant le dossier
mysqld
. Utilisez cette option pour
indiquer explicitement le lieu du serveur.
--log-error=path
Ecrit le fichier d'erreurs dans le fichier ci-dessus. See Section 5.9.1, « Le log d'erreurs ».
--mysqld=prog_name
Le nom du programme serveur (dans le dossier
ledir
) que vous voulez lancer. Cette
option est nécessaire si vous utilisez une distribution
binaire MySQL, mais que les données sont hors du dossier
d'installation.
--mysqld-version=suffix
Cette option est similaire à l'option
--mysqld
, mais vous spécifiez uniquement
le suffixe du nom du programme. Le nom de base sera alors
mysqld
. Par exemple, si vous utilisez
--mysqld-version=max
,
mysqld_safe
va lancer le programme
mysqld-max
dans le dossier
ledir
. Si l'argument de
--mysqld-version
est vide,
mysqld_safe
utilise
mysqld
dans le dossier
ledir
.
--nice=priority
Utilise le programme nice
pour donner la
priorité du serveur. Cette option a été ajoutée en MySQL
4.0.14.
--no-defaults
Ne lit aucun fichier d'options.
--open-files-limit=count
Le nombre de fichiers que mysqld
ouvre au
maximum. La valeur de l'option est passée à
ulimit -n
. Notez que vous devez lancer
mysqld_safe
en tant que
root
pour que cela fonctionne
correctement.
--pid-file=path
Le chemin jusqu'au fichier d'identifiant de processus.
--port=port_num
Le numéro de port à utiliser pour attendre les connexion TCP/IP.
--socket=path
Le fichier de socket Unix pour les connexions locales.
--timezone=zone
Configure la variable d'environnement TZ
.
Consultez votre documentation système pour connaître le
format légal des fuseaux horaires.
--user={user_name | user_id}
Lance le serveur mysqld
sous le nom
d'utilisateur user_name
ou avec
l'utilisateur d'identifiant numérique ID
user_id
. (``Utilisateur'' dans ce
contexte représente le compte système, et non pas les
utilisateurs des tables de droits MySQL).
Le script safe_mysqld
a été écrit pour
qu'il soit capable de démarrer le serveur qui a été installé
à partir des sources ou de la version binaire, même si
l'installation de MySQL est légèrement exotique. See
Section 2.1.5, « Dispositions d'installation ».
safe_mysqld
suppose que les conditions
suivantes sont remplies :
Le serveur et les bases de données sont placées dans un
dossier relativement au dossier d'où
safe_mysqld
est appelé.
safe_mysqld
cherche dans les sous
dossiers bin
et
data
(pour les distributions binaires)
et, libexec
et var
(pour les distributions sources). Cette condition doit être
remplie si vous exécutez safe_mysqld
depuis votre dossier d'installation MySQL (par exemple,
/usr/local/mysql
pour une distribution
binaire).
Si le serveur et les bases de données ne peuvent être
trouvées dans le dossier de travail,
safe_mysqld
essaie de les trouver en
utilisant leurs chemins absolus. Les chemin typiquement
étudiés sont /usr/local/libexec
et
/usr/local/var
. Les chemins réels sont
déterminés lorsque la distribution est compilée, et
safe_mysqld
a alors aussi été
généré. Ils doivent être corrects si MySQL a été
installé dans un dossier standard.
Comme safe_mysqld
essaie de trouver le
serveur et les bases dans un dossier situé dans le dossier de
travail, vous pouvez installer la version binaire de MySQL
n'importe où, du moment que vous démarrez le script
safe_mysqld
dans le dossier d'installation de
MySQL :
shell>cd mysql_installation_directory
shell>bin/safe_mysqld &
Si safe_mysqld
échoue, même si il est
appelé depuis le dossier d'installation, vous pouvez le
modifier pour qu'il reconnaisse le chemin que vous utilisez
jusqu'à mysqld
. Notez que si vous faites
évoluer votre installation de MySQL, votre version de
safe_mysqld
sera écrasée, et vous devrez la
rééditer.
Normalement, vous ne devez pas éditer le script
mysqld_safe
. Au lieu de cela, configurez
mysqld_safe
en utilisant les options de ligne
de commande, ou les options de la section
[mysqld_safe]
du fichier d'options
my.cnf
. Dans de rares cas, il sera peut
être nécessaire d'éditer mysqld_safe
pour
faire fonctionner correctement le serveur. Cependant, si vous
faites cela, mysqld_safe
risque d'être
écrasé lors de la prochaine mise à jour de MySQL : faîtes
en une sauvegarde avant d'installer.
Sous NetWare, mysqld_safe
est un
NetWare Loadable Module (NLM)
qui est un port
du script Unix original. Il fait ceci :
Effectue des vérifications système et des options.
Lance la vérification des tables MyISAM
et ISAM
.
Affiche un écran de présence de MySQL.
Lance mysqld
, le surveille et le relance
s'il s'arrête sur une erreur.
Envoie les messages de mysqld
dans le
fichier host_name.err
dans le dossier
de données.
Envoie les affichages de mysqld_safe
dans
le fichier host_name.safe
dans le
dossier de données.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.