Services webmasters
Partenaires
Jeux concours gratuits
 
Problèmes d'exécution de mysql_install_db
<<<
Problèmes de démarrage du serveur MySQL Lancer et arrêter MySQL automatiquement.
>>>

2.4 Configuration après l'installation, et tests
2 Installation de MySQL
 Manuel de Référence MySQL 4.1 : Version Française

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

2.4.2 Problèmes de démarrage du serveur MySQL

Si vous allez utiliser des tables qui supportent les transactions (InnoDB, BDB), vous devez commencer par créer un fichier my.cnf et y placer les options de démarrage de ces tables. Types de tables MySQL .

Généralement, vous démarrez le serveur mysqld de l'une de ces façons : Lorsque le démon mysqld démarre, il change le dossier de travail par le dossier de données. C'est là qu'il doit trouver les fichiers de log, et le fichier pid (ID de processus), ainsi que les dossiers de bases.

Le chemin du dossier de données est codé en dur lorsque la distribution est compilée. Cependant, si mysqld cherche le dossier de données ailleurs que là ou il est vraiment, il ne va pas fonctionner correctement. Si vous avez des problèmes avec les chemins, vous pouvez utiliser les options dont mysqld dispose pour vous permettre de modifier dynamiquement le chemin du dossier de données : il suffit d'appeler mysqld avec l'option --help . Vous pouvez remplacer les valeurs par défaut en spécifiant les chemins corrects en ligne de commande avec mysqld . Ces options fonctionneront aussi avec safe_mysqld .

Normalement, vous devez appeler mysqld uniquement depuis le dossier d'installation de MySQL. Vous pouvez faire cela avec l'option --basedir . Vous pouvez aussi consulter l'affichage de --help pour vérifier le changement des options de chemin (notez que --help doit être l'option finale d'une commande mysqld . Par exemple :

shell> EXECDIR/mysqld --basedir=/usr/local --help
Une fois que vous avez déterminé le chemin que vous souhaitez, vous pouvez démarrer le serveur sans l'option --help .Quelque soit la méthode que vous utilisez pour démarrer le serveur, si elle échoue, vérifiez le fichier de log pour savoir pourquoi. Les fichiers de log sont situés dans le dossier de données (typiquement /usr/local/mysql/data pour une distribution binaire, /usr/local/var pour une distribution source, et \mysql\data\mysql.err sous Windows). Regardez dans le dossier de données et recherchez des fichiers de la forme host_name.err et host_name.log ou host_name est le nom de votre serveur. Vérifiez alors les dernières lignes de ce fichier :

shell> tail host_name.err
shell> tail host_name.log
Recherchez des lignes comme celles-ci :

000729 14:50:10  bdb:  Recovery function for LSN 1 27595 failed
000729 14:50:10  bdb:  warning: ./test/t1.db: No such file or directory
000729 14:50:10  Can't init databases
Cela signifie que vous n'avez pas démarré mysqld avec --bdb-no-recover et Berkeley DB a trouvé une erreur dans les fichiers de log lorsqu'il a essayé de restaurer votre base. Pour pouvoir continuer, vous devez déplacer le vieux fichier de log Berkeley DB vers un autre dossier, pour l'examiner plus tard. Les fichiers de logs sont nommés log.0000000001 , et ce nombre augmente au fil du temps.Si vous exécutez mysqld avec les tables BDB et que mysqld fait des core dumps au démarrage, c'est peut être que vous avez des problèmes avec le fichier de restauration de BDB. Dans ce cas, essayez de démarrer mysqld avec --bdb-no-recover . Si cela aide, vous devriez alors retirer tous les fichiers de log log.* du dossier de données, et démarrer mysqld à nouveau.

Si vous obtenez l'erreur suivant, cela signifie que d'autres programmes (ou un autre serveur mysqld ) fonctionne déjà avec le port TCP/IP ou la socket que mysqld essaie d'utiliser :


Can't start server: Bind on TCP/IP port: Address already in use
  ou
Can't start server : Bind on unix socket...
Utilisez ps pour vous assurer que vous n'avez pas d'autre serveur mysqld qui fonctionne. SI vous ne pouvez pas trouver d'autre serveur en fonctionnement, essayer d'exécuter la commande telnet votre-nom-d-hote numero-de-port-tcp puis pressez la touche 'Entrée' plusieurs fois. SI vous n'obtenez pas de message d'erreur comme telnet: Unable to connect to remote host: Connection refused , alors un autre processus utilise le port TCP/IP de mysqld . Voyez Problèmes d'exécution de mysql_install_db et Faire fonctionner plusieurs serveurs MySQL sur la même machine .

Si mysqld est en fonctionnement, vous pouvez connaître les chemins qu'il utilise avec la commande suivante :


shell> mysqladmin variables
ou

shell> mysqladmin -h 'your-host-name' variables
Si vous obtenez une erreur Errcode 13 , qui indique Permission denied , lors du démarrage de mysqld , cela signifie que vous n'avez pas les droits de lecture ou d'écriture sur le dossier de données de MySQL, ou dans le dossier de logs. Dans ce cas, vous devriez démarrer mysqld en tant que root, ou changer les permissions des fichiers et dossiers utilisés.Si safe_mysqld démarre le serveur, mais que vous n'arrivez pas à vous y connecter, vous devriez vous assurer que vous avez une entrée dans le fichier /etc/hosts qui ressemble à ceci :

127.0.0.1       localhost
Ce problème survient uniquement sur les systèmes qui n'ont pas une librairie de threads fonctionnels, ou pour lesquels MySQL a été configuré pour utiliser les MIT-pthreads.SI vous ne pouvez pas faire démarrer mysqld , essayez de faire un fichier de trace pour identifier le problème. Créer des fichiers de traçage .

Si vous utilisez les tables InnoDB , reportez vous aux options de configuration spécifiques à InnoDB . Options de démarrage InnoDB .

Si vous utilisez les tables BDB (Berkeley DB), vous devriez vous familiariser avec les options de démarrage spécifiques à BDB. Options de démarrage BDB .

<< Problèmes de démarrage du serveur MySQL >>
Problèmes d'exécution de mysql_install_db Configuration après l'installation, et tests Lancer et arrêter MySQL automatiquement.
Services webmasters
Les manuels
 
CoursPHP.com - Reproduction interdite -