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_directoryshell>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.
