Как исправить эту проблему с правами доступа MySQL?

Как исправить эту проблему с правами доступа MySQL?

Пытаюсь приступить rails dbconsoleк работе (Rails 3.2.6). Проблема в том, что при запуске команды получаю:

gems/railties-3.2.6/lib/rails/commands/dbconsole.rb:81:in `exec': Permission denied -
/usr/local/bin/mysql (Errno::EACCES)

Я использую OS X Lion, и обычный способ запуска mysqlв командной строке работает - он просто не работает через rails dbconsole. Разрешения на /usr/local/bin/mysql:

$ ls -la /usr/local/bin/mysql
lrwxr-xr-x  1 root  admin  16 Mar 13 20:27 /usr/local/bin/mysql -> /usr/local/mysql

Пользователь, от имени которого я вызываю эти команды, входит в группу «Администраторы» (как видно из диалогового окна «Настройки» -> «Пользователи»).

Есть идеи, как это исправить? Что может быть причиной того, что mysqlчерез командную строку можно запустить, а через другую программу (в данном случае ruby/rails) — нет.

И пока я разбираюсь с этой проблемой с разрешениями, не могли бы вы указать мне на хорошую статью/книгу/метод, которые помогут мне понять систему разрешений и устранить подобные проблемы в будущем?

решение1

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

type mysql

чтобы увидеть, что mysqlдействительно работает, и при необходимости исправить /usr/local/bin/mysqlсимволическую ссылку, чтобы она указывала на правильное место.

Вы можете увидеть, что на самом деле стоит за символической ссылкой, добавив опцию -L( lsи -d, в случае, если это окажется каталог):

ls -lLd /usr/local/bin/mysql

Связанный контент