Problèmes d'exécution de mysql_install_db
<<<
Lancer et arrêter MySQL automatiquement Problèmes de démarrage du serveur MySQL
>>>

2.4.2 Procédures de post-installation sous Unix
2.4 Procédure de post-installation
2 Installer MySQL
 Manuel de Référence MySQL 4.1 : Version Française

Problèmes d'exécution de mysql_install_db
->Lancer et arrêter MySQL automatiquement
Problèmes de démarrage du serveur MySQL

2.4.2.2 Lancer et arrêter MySQL automatiquement

Généralement, vous démarrez le serveur mysqld par l'un de ces moyens :

  • En appelant mysqld directement. Cela fonctionne sur toutes les plates-formes.
  • En lançant le serveur MySQL comme un service Windows. Cela fonctionne sur les versions de Windows qui supportent les services : comme Windows NT, 2000 et XP. Le service peut être configuré pour démarrer automatiquement au lancement de Windows, ou manuellement, à la demande. Pour des instructions, reportez vous à Lancer MySQL comme un service Windows .
  • En appelant mysqld_safe , qui essaie de déterminer les options correctes avant de lancer mysqld . Ce script est utilisé sur les systèmes Unix BSD. Il est aussi appelé par mysql.server . safe_mysqld , le script père de mysqld .
  • En appelant mysql.server . Ce script sert principalement au moment du démarrage et de l'extinction du système, sur les systèmes qui utilisent un dossier de processus programmés System V, où il est généralement enregistré sous le nom de mysql . Le script mysql.server lance le serveur en appelant mysqld_safe . Le script de démarrage mysql.server .
  • Sur Mac OS X, vous pouvez installer un paquet indépendant appelé MySQL Startup Item pour activer le lancement automatique de MySQL au démarrage. Le Startup Item lance le serveur en appelant mysql.server . Voir Installer MySQL sous Mac OS X pour plus de détails.
Les scripts mysql.server et safe_mysqld et le StartUp Item de Mac OS X peuvent être utilisés pour démarrer le serveur automatiquement au moment du démarrage du serveur. mysql.server peut aussi servir à arrêter le serveur.

Le script mysql.server peut servir à démarrer ou arrêter le serveur en l'appelant avec les arguments start ou stop :


shell> mysql.server start
shell> mysql.server stop
Avant que mysql.server ne démarre le serveur, il change de dossier pour aller dans le dossier d'installation et appelle safe_mysqld . Si vous voulez que le serveur fonctionne sous un nom d'utilisateur spécifique, ajoutez l'option user appropriée dans le groupe [mysqld] du fichier /etc/my.cnf , tel que présenté ultérieurement dans cette section (il est possible que vous ayez besoin d'éditer mysql.server ). Vous pourriez avoir à éditer mysql.server si vous avez une installation binaire dans une situation non standard. Modifiez la commande cd avec le dossier correct, avant qu'il n'exécute safe_mysqld . Si vous voulez que le serveur fonctionne avec un utilisateur spécifique, ajouter l'option user appropriée dans le fichier /etc/my.cnf , tel que présenté ultérieurement dans cette section.

mysql.server stop arrête le serveur en lui envoyant un signal. Vous pouvez éteindre le serveur manuellement avec la commande mysqladmin shutdown .

Pour lancer et arrêter automatiquement MYSQL sur votre serveur, vous devez ajouter les commandes de lancement et d'arrêt dans les bons endroits de vos fichiers /etc/rc* .

Notez que si vous utilisez des paquets Linux RPM ( MySQL-server-VERSION.rpm ), le script mysql.server est installé sous le nom /etc/init.d/mysql . Vous n'avez pas à l'installer manuellement. Voyez Installer MySQL sous Linux pour plus d'informations sur les paquets Linux RPM .

Certaines éditeurs fournissent des paquets RPM qui installent un script de démarrage sous un autre nom, comme mysqld .

Si vous installez MySQL depuis une distribution source, ou en utilisant une distribution binaire qui n'installe pas automatiquement le script mysql.server , vous pouvez l'installer manuellement. Le script est disponible dans le dossier support-files du dossier d'installation MySQL, ou dans le dossier source de MySQL.

Pour installer mysql.server manuellement, copiez le dans le dossier /etc/init.d sous le nom mysql , puis rendez-le exécutable. Pour cela, placez vous dans le dossier où mysql.server est stocké, et utilisez ces commandes :

shell> cp mysql.server /etc/init.d/mysql
shell> chmod +x /etc/init.d/mysql
Les anciens systèmes Red Hat utilisent le dossier /etc/rc.d/init.d plutôt que /etc/init.d . Adaptez les commandes précédentes. Alternativement, créez un lien symbolique /etc/init.d qui pointe sur /etc/rc.d/init.d :

shell> cd /etc
shell> ln -s rc.d/init.d .
Après installation du script, les commandes doivent être activées pour fonctionner au lancement du système, sur votre système d'exploitation. Sous Linux, vous pouvez utiliser chkconfig :

shell> chkconfig --add mysql
Sur certains systèmes Linux, les commandes suivantes sont aussi nécessaires pour activer totalement le script mysql :

shell> chkconfig --level 345 mysql on
Sous FreeBSD, les scripts de démarrage vont généralement dans le dossier /usr/local/etc/rc.d/ . La page de manuel rc(8) indique que les scripts de ce dossier ne sont exécutés que si leur nom est de la forme *.sh . Tout autre fichier de ce dossier sera alors ignoré. En d'autres termes, vous devez installer le script mysql.server sous le nom /usr/local/etc/rc.d/mysql.server.sh pour activer le démarrage automatique.

Alternativement à la configuration précédente, certains systèmes d'exploitation utilisent aussi /etc/rc.local ou /etc/init.d/boot.local pour lancer des services supplémentaires au démarrage. Pour lancer MySQL avec cette méthode, vous pouvez ajouter une commande comme celle-ci au fichier de démarrage :


/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
Pour les autres systèmes, consultez la documentation de votre système d'exploitation pour savoir comment installer un script de démarrage.

Vous pouvez aussi ajouter des options à mysql.server via le fichier global /etc/my.cnf file. Un fichier /etc/my.cnf typique peut ressembler à ceci :


[mysqld]
datadir=/usr/local/mysql/var
socket=/var/tmp/mysql.sock
port=3306
user=mysql

[mysql.server]
basedir=/usr/local/mysql
Le script mysql.server comprend les options suivantes : basedir , datadir et pid-file . Si spécifiées, elles doivent être placées dans un fichier d'option, et non pas en ligne de commande. mysql.server comprend les options de ligne de commande start et stop .

La table suivante montre quels groupes d'options chaque scripts de démarrage utilise :

Script Groupe d'options
mysqld mysqld et server
mysql.server mysql.server , mysqld , et server
safe_mysqld mysql.server , mysqld , et server

[mysqld-major-version] signifie que des groupes ayant des noms tels que [mysqld-4.0] , [mysqld-4.1] , et [mysqld-5.0] seront lus par les serveurs de versions 4.0.x, 4.1.x, 5.0.x, etc. Cette fonctionnalité a été ajoutée en MySQL 4.0.14. Elle sert à spécifier des options qui ne seront lues que par des serveurs dont les versions sauront les comprendre.

A des fins de compatibilité ascendante, mysql.server lit aussi le groupe d'options [mysql_server] et mysqld_safe lit le groupe d'options [safe_mysqld] . Cependant, il est recommandé de modifier vos fichiers de configuration pour utiliser les groupes [mysql.server] et [mysqld_safe] à la place.

Utiliser les fichiers d'options .

<< Lancer et arrêter MySQL automatiquement >>
Problèmes d'exécution de mysql_install_db Procédures de post-installation sous Unix Problèmes de démarrage du serveur MySQL