如何解決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

相關內容