| 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 : 
 
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 :
--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 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 : 
 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.| 
shell> cd mysql_installation_directoryshell> bin/safe_mysqld &
 | 
 
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. |