5.1 Scripts serveur MySQL et utilitaires
5 Administration du serveur
Manuel de Référence MySQL 4.1 : Version Française
. Présentation des scripts serveurs et des utilitaires . mysqld-max , la version étendue du serveur mysqld ->safe_mysqld , le script père de mysqld . Le script de démarrage mysql.server . mysqld_multi , un programme pour gérer plusieurs serveurs MySQL
|
5.1.3 safe_mysqld , le script père de mysqld
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
. Options de ligne de commande
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.
Utiliser les fichiers d'options .
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. 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.
Plans 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.
|