Como consertar esse problema de permissão do mysql?

Como consertar esse problema de permissão do mysql?

Estou tentando começar rails dbconsolea trabalhar (Rails 3.2.6). O problema é que quando executo o comando, recebo:

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

Estou usando o OS X Lion, e a maneira usual de executar mysqlna linha de comando funciona - simplesmente não funciona rails dbconsole. As permissões no /usr/local/bin/mysqlsão:

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

O usuário de quem estou chamando esses comandos está no grupo 'Admin' (conforme evidenciado na caixa de diálogo Preferências -> Usuários)

Alguma ideia de como consertar isso? Qual poderia ser a causa de mysqlpoder executar na linha de comando, mas não através de outro programa (Ruby/Rails neste caso).

E enquanto estou nesse problema de permissões, você poderia me indicar um artigo/livro/método decente que me ajudará a entender o sistema de permissões e a solucionar esses problemas no futuro?

Responder1

Conjectura: mysqlnão é executado /usr/local/bin/mysql, mas um mysqlexecutável em algum outro local no $PATH. É incomum ser /usr/local/mysqlum arquivo executável: eu esperaria que fosse um diretório, se é que existe. Correr

type mysql

para ver o que mysqlrealmente funciona e, se necessário, corrija o /usr/local/bin/mysqllink simbólico para apontar para o lugar certo.

Você pode ver o que realmente está por trás do link simbólico adicionando a -Lopção a ls(e -d, caso seja um diretório):

ls -lLd /usr/local/bin/mysql

informação relacionada