この 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

関連情報