mysqld-max , la version étendue du serveur mysqld
<<<
safe_mysqld , le script père de mysqld Le script de démarrage mysql.server
>>>

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.

<< safe_mysqld , le script père de mysqld >>
mysqld-max , la version étendue du serveur mysqld Scripts serveur MySQL et utilitaires Le script de démarrage mysql.server