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

相关内容