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.1 Problèmes d'exécution de mysql_install_db
Le but du script
mysql_install_db
est de générer un nouveau
système de droits pour MySQL. Il ne modifiera aucune autre donnée!
Il ne fera rien du tout si vous avez des tables de droits installées.
Si vous voulez recréer vos tables de droits, vous devez éteindre le
serveur
mysqld
, s'il fonctionnait. Puis, renommez le dossier
mysql
dans le dossier de données, sauvez le, et exécutez le script
mysql_install_db
. Par exemple :
shell> mv mysql-data-directory/mysql mysql-data-directory/mysql-old shell> mysql_install_db --user=mysql
|
Cette section liste les problèmes que vous pourriez rencontrer lors
de l'exécution du script
mysql_install_db
:
-
mysql_install_db
n'installe pas les tables de droits
-
Vous réalisez que
mysql_install_db
n'arrive pas à installer les
tables de droits, et se termine sur ce message :
starting mysqld daemon with databases from XXXXXX mysql daemon ended
|
Dans ce cas, examinez le fichier de log très attentivement! Le fichier
de log est situé dans le dossier
XXXXXX
indiqué dans le message d'erreur,
et il indiquera pourquoi
mysqld
n'a pas démarré. Si vous ne comprenez pas
ce qui est arrivé, incluez le log dans votre message, lors de l'envoi du rapport
de bugs avec
mysqlbug
!
Comment rapporter des bogues ou problèmes .
-
Un démon
mysqld
fonctionne déjà
-
Dans ce cas, vous n'avez probablement pas exécuté
mysql_install_db
du tout.
Vous avez exécuté
mysql_install_db
une fois, lorsque vous avez installé
MySQL pour la première fois.
-
Installer un second démon
mysqld
n'est pas possible lorsque le premier fonctionne.
-
Cela arrive lorsque vous avez une installation MySQL pre-existantes, mais que
vous voulez installer une autre version ailleurs (par exemple, pour faire des
tests ou simplement pour avoir deux installations). Généralement, le problème
survient lorsque le second serveur est démarré, et qu'il essaie d'utiliser
les mêmes ports et sockets que le premier. Dans ce cas, vous recevez des
message d'erreur tels que :
Can't start server: Bind on TCP/IP port: Address already in use Can't start server: Bind on unix socket...
|
Pour des instructions sur la configuration de serveurs multiples, voyez
la section Utiliser plusieurs serveurs sur la même machine .
-
You don't have write access to
/tmp
- Si vous n'avez pas les droits d'accès suffisant pour créer un fichier de socket
à l'endroit prévu ou les permissions pour créer un fichier temporaire
dans
/tmp,
vous allez avoir une erreur lors de l'utilisation de
mysql_install_db
ou avec
mysqld
.
Vous pouvez spécifier une socket différente et un dossier temporaire différent
avec les options suivantes :
shell> TMPDIR=/some_tmp_dir/ shell> MYSQL_UNIX_PORT=/some_tmp_dir/mysql.sock shell> export TMPDIR MYSQL_UNIX_PORT
|
some_tmp_dir
doit être le chemin complet d'un dossier dans lequel
vous avez les droits en écriture.
Après cela, vous devriez être capable d'exécuter
mysql_install_db
et
lancer le serveur avec ces commandes :
shell> bin/mysql_install_db --user=mysql shell> bin/mysqld_safe --user=mysql &
|
Si
mysql_install_db
est situé dans le dossier
scripts
,
modifiez la première commande pour utiliser
scripts/mysql_install_db
.
Voyez Comment protéger
/tmp/mysql.sock
.
Variables d'environnement MySQL .
|