¿Cómo solucionar este problema de permisos de MySQL?

¿Cómo solucionar este problema de permisos de MySQL?

Estoy intentando ponerme rails dbconsolea trabajar (Rails 3.2.6). El problema es que cuando ejecuto el comando me sale:

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

Estoy usando OS X Lion y la forma habitual de ejecutarlo mysqlen la línea de comandos funciona, simplemente no funciona rails dbconsole. Los permisos en el /usr/local/bin/mysqlson:

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

El usuario desde el que llamo a estos comandos está en el grupo 'Administrador' (como se evidencia en el cuadro de diálogo Preferencias -> Usuarios)

¿Alguna idea sobre cómo solucionar este problema? ¿Cuál podría ser la causa de mysqlpoder ejecutarse en la línea de comando pero no a través de otro programa (ruby/rails en este caso)?

Y mientras tengo este problema de permisos, ¿podría indicarme algún artículo/libro/método decente que me ayude a comprender el sistema de permisos y a solucionar estos problemas en el futuro?

Respuesta1

Conjetura: mysqlno se ejecuta /usr/local/bin/mysql, sino un mysqlejecutable en alguna otra ubicación de $PATH. Es inusual que /usr/local/mysqlsea un archivo ejecutable: esperaría que fuera un directorio, si es que existe. Correr

type mysql

para ver qué mysqlse ejecuta realmente y, si es necesario, corregir el /usr/local/bin/mysqlenlace simbólico para que apunte al lugar correcto.

Puedes ver lo que realmente hay detrás del enlace simbólico agregando la -Lopción a ls(y -d, en caso de que resulte ser un directorio):

ls -lLd /usr/local/bin/mysql

información relacionada