Como corrigir esse problema de permissão do mysql?

1

Estou tentando fazer com que o rails dbconsole funcione (Rails 3.2.6, se isso ajudar). O problema é que quando eu executo o comando, fico:

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 mysql na linha de comando funciona - ele simplesmente não funciona em rails dbconsole . As permissões no /usr/local/bin/mysql sã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 do qual estou chamando esses comandos está no grupo "Administrador" (conforme evidenciado na caixa de diálogo Preferências - > Usuários)

Alguma idéia de como corrigir isso? Qual poderia ser a causa de mysql ser capaz de rodar na linha de comando, mas não através de outro programa (ruby / rails neste caso).

E enquanto estou com esse 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 ajudar a solucionar esses problemas no futuro?

    
por Zabba 16.06.2012 / 09:22

1 resposta

1

Conjectura: mysql não executa /usr/local/bin/mysql , mas um executável mysql em algum outro local em $PATH . É incomum que o /usr/local/mysql seja um arquivo executável: eu esperaria que fosse um diretório, se é que existe. Executar

type mysql

para ver o que o mysql realmente executa e, se necessário, corrija o link simbólico /usr/local/bin/mysql para apontar para o local correto.

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

ls -lLd /usr/local/bin/mysql
    
por 17.06.2012 / 03:23