Commande Mysql introuvable dans OS X 10.7

163

Je ne peux pas faire démarrer mon mysql sur os x 10.7. Il est situé dans/usr/local/mysql/bin/mysql

J'obtiens une commande introuvable lorsque je tape mysql --versiondans le terminal.

J'ai essayé cela ne peut pas accéder à mysql à partir de la ligne de commande mac mais obtenir toujours la commande introuvable. J'ai essayé d'installer mysql avec le dmg et j'ai essayé de l'installer via homebrew et je ne peux pas le faire fonctionner. Quand j'essaye de démarrer mysql avec homebrew, MySQL ne démarre pas

C'est mon $PATH:

/ usr / bin: / bin: / usr / sbin: / sbin: / usr / local / bin: / usr / X11 / bin: / usr / local / git / bin: / Users / Victoria / bin: / usr / local // usr / local / mysql / bin / privé / var / mysql / privé / var / mysql / bin

ArgentNuitAutomne
la source
1
Le répertoire d'installation est-il dans votre PATH?
Greg Hewgill
1
Il y a un certain nombre de choses à vérifier. Tout d'abord, suivez attentivement les instructions d'installation fournies avec le DMG et couvrez toutes les étapes pertinentes pour OS X. Un panneau de préférences système est également fourni pour démarrer / arrêter mysql. De plus, OSX est connu pour changer l'emplacement de mysql.sock - vous devrez le définir sur /tmp/mysql.sock dans my.cnf & php.ini - google que, il y aura de nombreux guides
RiquezJP
mysql --version ne fonctionnera que si vous demandez à BASH d'avoir cette commande de raccourci - ceci est détaillé dans l'installation, lisez-moi
RiquezJP
5
Si vous accédez au dossier mysql cd / usr / local / mysql / bin et émettez la commande version, cela fonctionnera. ./mysql --version
RiquezJP

Réponses:

371

C'est le problème avec votre $ PATH:

/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin.

$PATHest l'endroit où le shell recherche les fichiers de commandes. Les dossiers à rechercher doivent être séparés par deux points. Et donc vous voulez /usr/local/mysql/bin/dans votre chemin, mais à la place, il recherche /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin, ce qui n'existe probablement pas.

Au lieu de cela, vous voulez ${PATH}:/usr/local/mysql/bin.

Alors fais export PATH=${PATH}:/usr/local/mysql/bin.

Si vous voulez que cela soit exécuté à chaque fois que vous ouvrez le terminal, placez-le dans le fichier .bash_profile, qui est exécuté à l'ouverture du terminal.

Hophat Abc
la source
2
maintenant je reçois l'erreur que j'obtenais avec homebrew ERROR 2002 (HY000): Impossible de se connecter au serveur MySQL local via le socket '/tmp/mysql.sock' (2)
SilverNightaFall
2
Cela signifie que le socket mysql est mal placé, ce qui est une erreur très différente. C'est un problème avec mysql, pas avec votre $PATH.
Hophat Abc
1
Faites ce que l'autre réponse a dit: supprimez ce fichier pid, assurez-vous que toutes les instances sont arrêtées (tuez tous les processus qui ne s'arrêtent pas), vérifiez que rien n'écoute le port MySQL 3306 (netstat devrait aider) et essayez de redémarrer MySQL.
Hophat Abc
1
Je recommanderais d'ouvrir Activity Monitor et de tuer toutes les instances de mysql
Hophat Abc
1
Mon binaire mysql n'était pas dedans /usr/local/mysql/bin.
user124384
29

J'ai rencontré le même problème et j'ai finalement trouvé une solution. Veuillez suivre les étapes ci-dessous, si vous utilisez MAMP.

  1. Démarrez MAMP ou MAMP PRO
  2. Démarrez le serveur
  3. Ouvrir le terminal (Applications -> Utilitaires)
  4. Tapez: (une ligne) / Applications / MAMP / Library / bin / mysql --host = localhost -uroot -proot

Cela fonctionne pour moi.

SreerajS
la source
29

Une autre façon consiste à créer un lien souple dans /usr/local/bin

ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql

Mais si vous avez besoin d'autres exécutables comme mysqldump, vous devrez créer un lien logiciel pour eux.

gzc
la source
2
ousudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Bob Stein
18

Vous devez définir PATH pour mysql dans votre .bashrcfichier en utilisant ce qui suit:

  export PATH=$PATH:/usr/local/mysql/bin

Mais si vous utilisez, oh my zshvous devez ajouter un chemin dans le .zshrcfichier.

shivam
la source
9

Votre PATH n'est peut-être pas configuré. Accédez au terminal et tapez:

echo 'export PATH="/usr/local/mysql/bin:$PATH"' >> ~/.bash_profile

Essentiellement, cela vous permet d'accéder à mysql de n'importe où.

Tapez cat .bash_profilepour vérifier que le PATH a été configuré.

Vérifiez la version de mysql maintenant:mysql --version

Si cela ne fonctionne toujours pas, fermez le terminal et rouvrez-le. Vérifiez la version maintenant, cela devrait fonctionner. Bonne chance!

nurealam siddiq
la source
8

Si vous avez installé MySQL Server et que vous obtenez toujours

mysql -u root -p command not found

Vous rencontrez probablement cela parce que vous avez une ancienne version de Mac.

Essaye ça:

dans le répertoire personnel du terminal open -t .bash_profile

collez à l' export PATH=${PATH}:/usr/local/mysql/bin/intérieur et enregistrez-le

au lieu d'écrire, mysql -uroot -pcollez ce qui suit dans votre terminal:

/usr/local/mysql/bin/mysql -uroot -p 

Tapez votre mot de passe. Maintenant vous êtes dedans.

Jackie Santana
la source
3

J'ai essayé beaucoup de suggestions sur SO mais c'est celle qui a réellement fonctionné pour moi:

sudo sh -c 'echo /usr/local/mysql/bin > /etc/paths.d/mysql'

alors vous tapez

mysql

Il vous demandera d'entrer votre mot de passe.

zazu
la source
Je n'ai pas utilisé la nouvelle version Mac, mon mac est mort: (donc je ne peux plus le tester
zazu
@zazu Désolé pour votre perte.
Sajad
3

Si vous utilisez un terminal, vous voudrez ajouter ce qui suit à ./bash_profile

export PATH="/usr/local/mysql/bin:$PATH"

Si vous utilisez zsh, vous voudrez ajouter la ligne ci-dessus à votre ~/.zshrc

Jon Gear
la source
2

Ajoutez les lignes suivantes dans bash_profile:

alias startmysql='sudo /usr/local/mysql/support-files/mysql.server start'
alias stopmysql='sudo /usr/local/mysql/support-files/mysql.server stop'

et enregistrez le bash_profile.

Maintenant, dans le terminal, démarrez et arrêtez le serveur mysql en utilisant les commandes suivantes:

startmysql //to start mysql server

et

stopmysql //to stop mysql server
KayV
la source
2

J'ai installé MAMP et phpmyadmin fonctionnait.

Mais impossible de trouver / usr / local / bin / mysql

Cela l'a corrigé

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql
zod
la source
sa création d'un lien symbolique. Pour le supprimer, essayez ce linuxize.com/post/how-to-remove-symbolic-links-in-linux
zod le
1

Avec MAMP

  1. Localisez généralement mysql dans / Applications / MAMP / Library / bin / mysql
  2. sudo vi / etc / chemins
  3. Ajoutez ce chemin au fichier / Applications / MAMP / Library / bin
  4. : wq (Enregistrer et quitter le fichier)
  5. Fermer les fenêtres du terminal
  6. Rouvrez le terminal et tapez mysql et cela devrait fonctionner
user1502826
la source
0

dans le terminal faire:

vi ~/.bash_profile 

Et ajoutez cette ligne:

export PATH=${PATH}:/usr/local/mysql/bin

et tapez ceci dans le terminal:

mysql -u [username] -p [password]
Boney
la source
0

Peut-être que j'aiderai quelqu'un d'autre. Aucune des réponses ci-dessus n'a fonctionné pour Catalina. Enfin, cela a résolu le problème

echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> /Users/$(whoami)/.bash_profile

Bien sûr, vous devez changer pour la version de mysql que vous avez installée

Manuel Ortiz
la source