Aller au contenu

[Resolu] [Debian] commande mysql à modifier


Messages recommandés

bonjour à tous,

j'ai une debian 2.6.12-2-686

je viens d'installer mysql-server-5.0.18 en suivant cette procédure

http://www.debianhelp.co.uk/mysql5.htm

à présent, pour créer des utilisateurs et des tables, je suis obligé de passer par cette commande :

/opt/mysql-5.0.18/bin/mysql -u root -h localhost.localdomain -P 3308 -p

ce qui me permet de me connecter en root sur la base de données ;)

mais est-il possible d'utiliser comme avant les commandes mysql et mysqladmin sans devoir passer par ce long truc ?

j'entends par là si c'était possible de faire un alias de cette commande ou lien symbolique, je ne connais pas trop l'appelation, mais ça pourrait m'aider grandement :yes:

en effet, quand j'exécute la commande mysql, ça me donne ceci :zarb:

mysql -u root -p
Enter password:
ERROR 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
phoenix:/etc/apache2/sites-available#

merci de votre aide :yes:

sunfun :byebye:

Lien vers le commentaire
Partager sur d’autres sites

Si je ne me trompe pas, tu as installé ton serveur MySQL pour qu'il écoute le port 3308 vu la commande que tu tapes pour y accéder.... Hors, le port par défaut est le 3306 (enfin il me semble... confirmation ?), donc quand tu tapes la commandes mysql sans préciser le port, il essaie de se connecter sur le 3306 et non le 3308....

donc soit tu modifies le port dans la configuration de mysql, soit tu précises le numéro du port.

Genre : mysqladmin --port=3308

Lien vers le commentaire
Partager sur d’autres sites

bonjour yazou,

merci de ta réponse :p

je viens de faire cette manipulation après avoir tout recompilé avec le port 3306 :transpi:

j'ai aussi changé la configuration du fichier /opt/mysql-5.0.18/my.cnf

voici le résultat de ma dernière commande :


phoenix:/opt/mysql-5.0.18# mysqladmin --port=3306 --user=root create cacti
mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
phoenix:/opt/mysql-5.0.18#

j'ai l'impression que mysqladmin cherche encore l'ancien processus mysqld.sock que j'avais installé en faisant apt-get install mysql-server

par défaut, quand je fais ça, il installe que la version 4 de mysql

c'est pourquoi j'ai utilisé ce tutorial pour installé mysql-server-5.0.18 :vante:

et du coup, je pense qu'il ne tient pas compte de mon fichier /tmp/mysql-5.0.18.sock

comment faire ? je pense que l'erreur vient de là :zarb:

merci de ton aide :yes:

sunfun :theo:

Lien vers le commentaire
Partager sur d’autres sites

Et bien pourquoi ne supprimes tu pas la version 4 (avec un apt-get remove --purge) et mettre le répertoire /opt/mysql-5.0.18/bin/ dans le PATH ?

Comme ca tu auras les bonnes commandes... :transpi:

(tu as quelle version de debian ? Sarge ?)

Lien vers le commentaire
Partager sur d’autres sites

Et bien pourquoi ne supprimes tu pas la version 4 (avec un apt-get remove --purge)

bonjour yazou,

j'ai la debian sarge :mdr:

ok pour le apt-get remove --purge mysql-server :yes:

mais si je fais ça, ça ne supprime pas la version mysql-server 5.0.18 que je viens de compiler et d'installer manuellement

ça supprime bien le package de base mysql-server de debian ? :kimouss:

merci de ta confirmation :merci:

mettre le répertoire /opt/mysql-5.0.18/bin/ dans le PATH ?

Comme ca tu auras les bonnes commandes... :merci:

pour ajouter /opt/mysql-5.0.18/bin/ dans le PATH, c'est bien la commande :

set $PATH=PATH:/opt/mysql-5.0.18/bin/

merci de ta confirmation une nouvelle fois :merci:

sunfun :merci:

Lien vers le commentaire
Partager sur d’autres sites

ok pour le apt-get remove --purge mysql-server :transpi:

mais si je fais ça, ça ne supprime pas la version mysql-server 5.0.18 que je viens de compiler et d'installer manuellement

Oui bien sûr, ca ne supprime que les fichiers installés via apt-get.

pour ajouter /opt/mysql-5.0.18/bin/ dans le PATH, c'est bien la commande :

set $PATH=PATH:/opt/mysql-5.0.18/bin/

Je n'ai pas de debian, mais je pense que si tu édites le fichier /etc/profile et ajoute

PATH=$PATH:/opt/mysql-5.0.18/bin/
export PATH

à la fin du fichier, ça devrait marcher.

Après tu reboot l'ordi, ou tu fais tout simplement "source /etc/profile".

Je pense que ca devrait être bon

Lien vers le commentaire
Partager sur d’autres sites

Ou même directement

export PATH=/opt/mysql-5.0.18/bin:$PATH

Pour être sûr que si d'autres bin ont le même noms c'est celui là qui sera appellé.

bonjour,

merci pour vos réponses :transpi:

voici ce que j'ai fait :

phoenix:/# export PATH=$PATH:/opt/mysql-5.0.18/bin
phoenix:/# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin:/opt/mysql-5.0.18/bin

c'est bien ce que vous me conseillez de faire, et ça fonctionne :oops:

mais voici ce que j'obtiens lorsque je reteste la commande mysql -u root -p :francais:

phoenix:/# mysql -u root -p
Enter password:
ERROR 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
phoenix:/#

faut-il que je redémarre la machine ? j'ai l'impression que la valeur de mon $PATH a bien été modifiée mais ça n'a aucune incidence :smack:

sinon, comment faire pour qu'à chaque redémarrage, la variable $PATH soit actualisée ???

en fait, j'ai remarqué qu'à chaque redémarrage de la machine, le chemin /opt/mysql-5.0.18/bin disparaissait

merci de votre aide :yes:

sunfun :chinois:

Lien vers le commentaire
Partager sur d’autres sites

Dans ton .profile ou ton .bashrc pour bash, .zshrc pour zsh etc...

Pour la soket mysql, rien à voir avec le PATH, c'est pas lié au shell.

Regarde si tu as les droits. Regarde sur google et dans le forum (Linux et prog) si il n'y a pas une réponse déjà. Sinon regarde dans tes logs, augmente la verbosité.

Tu peux regarder dans la doc aussi.

Lien vers le commentaire
Partager sur d’autres sites

Dans ton .profile ou ton .bashrc pour bash, .zshrc pour zsh etc...

Pour la soket mysql, rien à voir avec le PATH, c'est pas lié au shell.

Regarde si tu as les droits. Regarde sur google et dans le forum (Linux et prog) si il n'y a pas une réponse déjà. Sinon regarde dans tes logs, augmente la verbosité.

Tu peux regarder dans la doc aussi.

Faut aussi configurer mysql pour qu'il utilise les socket-file unix pour les connection sur la même machine. Là je dirais que tu as un serveur mysqld qui écoute le trafic réseau (LISTEN sur un "vrai port réseau") et un client mysql qui tente de se connecter en local en utilisant un socket-file (sans passer par le réseau donc)

Je ne suis pas sur, mais je crois que c'est ça.

Donc deux possibilité, soit regler le serveur pour qu'il utilise des socket file, soit regler le client pour qu'il utilise le réseau.

Lien vers le commentaire
Partager sur d’autres sites

Mais tu as pas dit que ça fonctionnait bien avec /opt/mysql-5.0.18/bin/mysql ??? :craint:

bonjour yazou,

oui ça fonctionne en faisant /opt/mysql-5.0.18/bin/mysql, mais ça aurait été plus simple de taper mysql tout court :love:

j'aurais juste aimé savoir si c'était possible :ouioui:

merci de votre aide :eeek2:

sunfun 8)

Lien vers le commentaire
Partager sur d’autres sites

Essaye en mettant /opt... au début de ton PATH alors...

bonsoir theocrite,

effectivement, ça fonctionne :transpi:

mais à chaque redémarrage de la machine, le chemin que j'ai ajouté dans la variable d'environnement $PATH disparait

si bien qu'à chaque redémarrage, je me retrouve avec la meme erreur :

phoenix:/# mysql -u root -p
Enter password:
ERROR 2002: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
phoenix:/#

est-il possible que la variable d'environnement soit sauvegardée meme après redémarrage de la machine ? :-D

merci de ton aide :-D

sunfun :love:

Lien vers le commentaire
Partager sur d’autres sites

Tapes ça...

echo "export PATH=/opt/mysql-5.0.18/bin:$PATH" >> ~/.bashrc

Si tu es sous bash.

bonsoir theocrite,

est-ce normal que lorsque je tape ta commande, j'obtiens ceci :

phoenix:/# echo "export PATH=/opt/mysql-5.0.18/bin:$PATH" >> ~/.bashrc
phoenix:/# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
phoenix:/home/swong#

ou faut il que je tape tout simplement :francais:

export PATH=/opt/mysql-5.0.18/bin:$PATH >> ~/.bashrc

est-ce que je dois redémarrer la machine pour voir l'effet de ta commande ? :francais:

merci de tes précisions :-D

sunfun :ouioui:

Lien vers le commentaire
Partager sur d’autres sites

tail ~/.bashrc pour vérifier.

Juste te déloguer et te reloguer.

Sinon

. ~/.bashrc

bonsoir theocrite,

je te remercie beaucoup de ton aide :-D:chinois:

c'est effectivement les bonnes commandes que tu m'as données :ouioui::-D:D

merci beaucoup :francais::francais::transpi::D

je vais mettre le sujet en résolu :chinois::yes:

sunfun :yes:

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...