Команда Mysql не найдена в OS X 10.7


163

Я не могу запустить MySQL для OS X 10,7. Это находится в/usr/local/mysql/bin/mysql

Я получаю команду, не найденную, когда я печатаю mysql --versionв терминале.

Я пытался это не может получить доступ к MySQL из командной строки Mac, но все еще получить команду не найдена. Я попытался установить mysql с dmg, и я попытался установить его через homebrew, и я не могу заставить его работать. Когда я пытаюсь запустить mysql с homebrew, я получаю, что MySQL не запускается

Это мое $PATH:

/ USR / бен: / бен: / USR / SBIN: / SBIN: / USR / местные / бен: / USR / X11 / бен: / USR / местные / мерзавец / бен: / Users / Victoria / бен: / USR / местные // USR / местные / MySQL / бен / частный / вар / MySQL / частный / вар / MySQL / бен


1
Каталог установки находится в вашем PATH?
Грег Хьюгилл

1
Есть несколько вещей, которые нужно проверить. Во-первых, внимательно следуйте инструкциям по установке, которые поставляются с DMG, и охватывайте все соответствующие шаги для OS X. Для запуска и остановки mysql предусмотрена панель системных настроек. Кроме того, OSX печально известен тем, что изменил местоположение mysql.sock - вам нужно установить его в /tmp/mysql.sock в my.cnf & php.ini - google, что будет много руководств
RiquezJP

mysql --version будет работать только в том случае, если вы дадите BASH указание использовать эту команду быстрого доступа - это подробно описано во время установки, прочитайте меня
RiquezJP

5
Если вы перейдете в папку mysql cd / usr / local / mysql / bin и затем введете команду version, она будет работать. ./mysql --version
RiquezJP

Ответы:


371

Это проблема с вашим $ PATH:

/usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin,

$PATHгде оболочка ищет командные файлы. Папки для поиска должны быть разделены двоеточием. И поэтому вы хотите /usr/local/mysql/bin/на своем пути, но вместо этого он ищет /usr/local//usr/local/mysql/bin/private/var/mysql/private/var/mysql/bin, который, вероятно, не существует.

Вместо этого вы хотите ${PATH}:/usr/local/mysql/bin.

Так и делай export PATH=${PATH}:/usr/local/mysql/bin.

Если вы хотите, чтобы он запускался каждый раз, когда вы открываете терминал, поместите его в файл .bash_profile, который запускается при открытии терминала.


2
теперь я получаю ошибку, которую получаю с помощью homebrew ОШИБКА 2002 (HY000): не удается подключиться к локальному серверу MySQL через сокет '/tmp/mysql.sock' (2)
SilverNightaFall

2
Это означает, что сокет mysql не на своем месте, что является совсем другой ошибкой. Это проблема с MySQL, а не ваша $PATH.
Hophat Abc

1
Сделайте то, что сказал другой ответ: удалите этот pid-файл, убедитесь, что все экземпляры остановлены (уничтожите все процессы, не завершающиеся), проверьте, что ничто не слушает порт MySQL 3306 (netstat должен помочь) и попробуйте запустить MySQL снова.
Hophat Abc

1
Я бы порекомендовал открыть Activity Monitor и убить все экземпляры mysql
Hophat Abc

1
Мой бинарный файл MySQL не был в /usr/local/mysql/bin.
user124384

29

Я столкнулся с той же проблемой, и, наконец, я получил решение. Пожалуйста, выполните следующие шаги, если вы используете MAMP.

  1. Запустите MAMP или MAMP PRO
  2. Запустите сервер
  3. Открытый терминал (Приложения -> Утилиты)
  4. Введите: (одна строка) / Applications / MAMP / Library / bin / mysql --host = localhost -uroot -proot

Это работает для меня.


29

Одним из альтернативных способов является создание мягкой ссылки в /usr/local/bin

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

Но если вам нужны другие исполняемые файлы, например mysqldump, вам нужно создать для них программную ссылку.


2
илиsudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql
Боб Стейн

18

Вы должны установить PATH для mysql в вашем .bashrcфайле, используя следующее:

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

Но если вы используете, oh my zshто вы должны добавить путь внутри .zshrcфайла.


9

Ваш путь не может быть установлен. Зайдите в терминал и наберите:

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

По сути, это позволяет вам получить доступ к MySQL из любого места.

Введите, cat .bash_profileчтобы проверить, был ли установлен PATH.

Проверьте версию MySQL сейчас:mysql --version

Если это все еще не работает, закройте терминал и снова откройте. Проверьте версию сейчас, она должна работать. Удачи!


8

Если вы установили MySQL Server и по-прежнему получаете

mysql -u root -p command not found

Скорее всего, вы испытываете это, потому что у вас старая версия Mac.

Попробуй это:

в домашнем каталоге в терминале open -t .bash_profile

вставить export PATH=${PATH}:/usr/local/mysql/bin/внутрь и сохранить

вместо записи mysql -uroot -pвставьте в свой терминал следующее:

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

Введите ваш пароль. Теперь вы в.


3

Я перепробовал много предложений по SO, но это то, что действительно работает для меня:

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

тогда вы печатаете

mysql

Вам будет предложено ввести пароль.


Я не использовал новый Mac версии, мой макинтош умер :( так что я не могу проверить его больше
Зазу

@zazu Извините за потерянное.
Саджад

3

Если вы используете терминал, вам нужно добавить следующее в ./bash_profile

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

Если вы используете zsh, вам нужно добавить вышеуказанную строку в ваш ~/.zshrc


2

Добавьте следующие строки в bash_profile:

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

и сохраните bash_profile.

Теперь в терминале запускаем и останавливаем сервер mysql с помощью следующих команд:

startmysql //to start mysql server

и

stopmysql //to stop mysql server

2

Я установил MAMP и phpmyadmin работал.

Но не могу найти / usr / local / bin / mysql

Это исправило

sudo ln -s /Applications/MAMP/Library/bin/mysql /usr/local/bin/mysql

это создание символической ссылки. Чтобы удалить его, попробуйте этот linuxize.com/post/how-to-remove-symbolic-links-in-linux
zod

1

С MAMP

  1. Найдите mysql обычно в / Applications / MAMP / Library / bin / mysql
  2. sudo vi / etc / paths
  3. Добавьте этот путь к файлу / Applications / MAMP / Library / bin
  4. : wq (сохранить и выйти из файла)
  5. Закрыть окно терминала
  6. Откройте терминал и введите mysql, и он должен работать

0

в терминале делаем:

vi ~/.bash_profile 

И добавьте эту строку:

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

и введите это в терминале:

mysql -u [username] -p [password]

0

Может быть, я помогу кому-то еще. Ни один из приведенных выше ответов не сработал для Каталины. Наконец, это решило проблему

echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> /Users/$(whoami)/.bash_profile

Конечно, вы должны изменить версию MySQL, которую вы установили

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.