Précédent   Forum des professionnels en informatique > Bases de données > MySQL > Installation
Installation Forum d'entraide sur les problèmes liés à l'installation de MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/08/2006, 14h27   #1
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
Par défaut Installer MySQL 3.23 et MySQL 4.1 sur un même serveur Linux

Je dois installer un MySQL 4.1 sur un serveur Linux RedHat possédant déjà un MySQL 3.23 (installation rpm), sans casser cette dernière bien sûr.
Pour lancer deux serveurs MySQL (de même version) sur une
même machine (Linux) il faut les lancer sur des ports différents. Pour installer deux MySQL je n'ai rien trouvé de clair.
Merci par avance pour vos réponses.
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2006, 16h45   #2
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Premièrement, je te conseille de prendre la 4.1 mais pas en RPM. Donc le "Linux (non RPM package)" qu'on trouve ici : http://dev.mysql.com/downloads/mysql/4.1.html. Personnellement je ne prendrais pas le risque de voir le RPM 4.1 corrompre l'ancienne installation.

Donc pour l'installation de la 4.1, tu suis les indications du fichier INSTALL (ou ici : http://dev.mysql.com/doc/refman/5.0/...g-binary.html). Tu n'es pas obligé de créer un utilisateur "mysql" si tu en as déjà un pour la 3.23. Et bien sûr, tu copies les fichiers de la 4.1 à un autre emplacement que ceux de ta 3.23.

Avant de lancer le serveur 4.1, veille à spécifier un autre port, soit en ligne de commande soit en utilisant un fichier d'options dans lequel tu mettras quelque chose du genre :

Plus d'infos sur les fichiers d'options ici :http://dev.mysql.com/doc/refman/5.0/...ion-files.html

Voilà, bonne chance
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/08/2006, 17h44   #3
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
Pour le lancement de l'installation, il ne vaudrait pas mieux faire ça :
scripts/mysql_install_db --user=mysql --defaults-file=/DataDir/my.cnf --datadir=/donneesMysql41

ou simplement mettre ces données dans /DataDir/my.cnf ?
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2006, 11h11   #4
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
J'ai l'erreur suivante :
Didn't find @libexecdir@/mysqld
You should do a 'make install' before executing this script

Un 'make install' me donne :
...
make[2]: *** [install-benchSCRIPTS] Erreur 1
make[2]: Quitte le répertoire `/usr/local/mysql-4.1.11/sql-bench'
make[1]: *** [install-am] Erreur 2
make[1]: Quitte le répertoire `/usr/local/mysql-4.1.11/sql-bench'
make: *** [install-recursive] Erreur 1

J'ai fait le configure et le make avant.
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2006, 11h54   #5
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
J'ai récupéré une autre version (autre que celle que l'on m'a donné mais ça devrait faire l'affaire). Je n'ai plus d'erreur de compilation mais j'ai l'erreur suivante :
060816 12:19:42 [ERROR] Can't start server : Bind on unix socket: Permission denied
060816 12:19:42 [ERROR] Do you already have another mysqld server running on socket: /usr/local/mysql-4.1.21/mysql.sock ?
060816 12:19:42 [ERROR] Aborting

060816 12:19:42 [Note] /usr/local/mysql-4.1.21/bin/mysqld: Shutdown complete
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/08/2006, 12h32   #6
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
Problème résolu : l'utilisateur mysql n'avait pas les droits d'écriture pour créer le fichier pid.
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 11h20   #7
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
En fait ça ne fonctionne pas tout à fait.
Mon fichier my.cnf (dans /usr/local/mysql-4.1.21/data) :
[mysqld]
datadir=/usr/local/mysql-4.1.21/data
socket=/usr/local/mysql-4.1.21/mysql.sock
port=3307

[mysql.server]
user=mysql
basedir=/usr/local/mysql-4.1.21

[safe_mysqld]
err-log=/var/log/mysql4d.log
pid-file=/var/run/mysqld/mysql4d.pid

Installation avec la commande :
scripts/mysql_install_db.sh --user=mysql --datadir=/usr/local/mysql-4.1.21/data

J'ai essayé de lancer MySQL avec la commandes suivante :
/usr/local/mysql-4.1.21/bin/mysqld --defaults-file=/usr/local/mysql-4.1.21/data/my.cnf --basedir=/usr/local/mysql-4.1.21 --datadir=/usr/local/mysql-4.1.21/data --user=mysql --pid-file=/var/run/mysqld/mysql4d.pid --skip-locking &

Ca semble se lancer correctment car j'obtient le message :
Version: '4.1.21-standard' socket: '/usr/local/mysql-4.1.21/mysql.sock' port: 3307 MySQL Community Edition - Standard (GPL)

En faisant un "ps -ef | grep mysql" je vois bien les deux processus.

Je me connecte avec :
/usr/local/mysql-4.1.21/bin/mysql -h ma.machine -u root -p

et là je me retrouve sur la 3.23 au lieu de la 4.1. J'ai donc essayé différente façon de me connecter :
# /usr/local/mysql-4.1.21/bin/mysql -h localhost --port=3307 -u root -p
Enter password:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
# /usr/local/mysql-4.1.21/bin/mysql -h localhost --port=3307 --socket=/usr/local/mysql-4.1.21/mysql.sock -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
# /usr/local/mysql-4.1.21/bin/mysql -h ma.machine --port=3307 --socket=/usr/local/mysql-4.1.21/mysql.sock -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
# /usr/local/mysql-4.1.21/bin/mysql -h adresseIP --port=3307 --socket=/usr/local/mysql-4.1.21/mysql.sock -u root -p
Enter password:
ERROR 1130 (00000): Host 'adresseIP' is not allowed to connect to this MySQL server

J'ai essayé de me connecter avec PHPMyAdmin mais sur Serveur: localhost:3307 il m'indique que le port utilisé est le 3306 et la base une 3.23 !
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 12h10   #8
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Le port a l'air ouvert en tout cas. Tente toujours un telnet pour en être sûr.

On dirait un problème de mot de passe. Tu en as spécifié un pour root ? Si ce n'est pas le cas, c'est le "-p" qui est de trop.
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 13h23   #9
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
Le telnet donne :
Code :
1
2
3
4
5
6
7
8
9
 
#telnet localhost 3307
Trying 127.0.0.1...
Connected TO localhost.localdomain (127.0.0.1).
Escape character IS '^]'.
=
4.1.21-standard[#837W24,K]sL`!}w^PV=
 
Bad handshakeConnection closed BY FOREIGN host.
Cela veut dire que le port n'est pas ouvert ?

J'ai bien mis un mot de passe.
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 14h11   #10
Rédacteur
 
Avatar de Biglo
 
Inscription : juillet 2002
Messages : 537
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations forums :
Inscription : juillet 2002
Messages : 537
Points : 561
Points : 561
Non, le port est bien ouvert. La connexion a été établie.

Quand et comment as-tu spécifié le mot de passe root ? Etant donné qu'il faut réussir à se connecter pour le faire (en tout cas avec la version binaire)

Essaie de démarrer le serveur avec --skip-grant-tables, comme ça on sera sûr que ce n'est pas un problème d'identification.
Biglo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 14h57   #11
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
J'ai tout recommencé mais en utilisant un nouvel utilisateur Linux que j'ai mis dans le groupe mysql. Je ne suis pas sûr que ça change quelque chose.
Le mot de passe n'a pas du être changé correctement. Maintenant que j'ai utilisé :
/usr/local/mysql4/bin/mysqladmin -u root password 'motdepasse' -h localhost --port=3307 --socket=/usr/local/mysql4/mysql.sock
alors qu'avant j'avais utilisé :
/usr/local/mysql4/bin/mysqladmin -u root password 'motdepasse' -h localhost
qui a du affecter la version3.23

Donc ça marche maintenant. J'ai réussi à créer une base et des tables via les lignes de commande car PHPMyAdmin ne veut toujours pas voir la base 4.1 ! (cf http://www.developpez.net/forums/sho...d.php?t=197032)
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/08/2006, 17h26   #12
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
J'arrive donc à créer des bases et des tables et à insérer des données en utilisant l'interface peut agréable de MySQL mais aucune application ne parvient à se connecter à la base 4.1, elles essaient toutes de se connecter à la 3.23.
J'ai essayé avec PHPMyAdmin et une appli Tomcat4.
J'en conclue que ma base 4.1 n'est pas bien installée.

Quelqu'un saurait d'où ça peut venir ?
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 10h16   #13
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
Je me demande si ça ne pourrait pas provenir du fait que la base 3.23 soit installée à partir d'un rpm ?
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 10h22   #14
Membre chevronné
 
Avatar de gerald2545
 
Inscription : février 2003
Messages : 643
Détails du profil
Informations forums :
Inscription : février 2003
Messages : 643
Points : 660
Points : 660
question bête mais as-tu spécifié le bon port dans phpMyAdmin pour accéder à la 4.1?
gerald2545 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/08/2006, 10h48   #15
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
Citation:
Envoyé par gerald2545
question bête mais as-tu spécifié le bon port dans phpMyAdmin pour accéder à la 4.1?
Oui, je viens de voir (sur un autre forum) qu'il fallait lui donner un autre host que localhost bien que j'ai deux applis dans des dossiers différents. Maintenant, j'ai une erreur "#1251 - Client does not support authentication protocol requested by server; consider upgrading MySQL client". Apparamment, il faut que je change le .so ou que je recompile PHP avec la version 4.1.
Je vais essayer mais je ça ne règlera pas mon pb pour les applications Java.
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/08/2006, 12h26   #16
Membre habitué
 
Inscription : avril 2003
Messages : 246
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 246
Points : 117
Points : 117
Ca y est enfin résolu. Mon appli Java peut se connecter :
- le connecteur MySQL utilisé par Tomcat était trop ancien, mysql-connector-java-5.0.3-bin.jar fonctionne
- je suis obligé d'avoir un utilisateur MySQL ayant le même nom que la base sinon l'appli ne se connecte pas. Je ne sais pas si ça vient de MySQL ou de l'appli.

Pour PHPMyAdmin, il faut recompiler PHP avec MySQL 4.1 mais je me contenterai des lignes de commandes.
__________________
Christophe
Christophe P. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h38.


 
 
 
 
Partenaires

Hébergement Web