저는 이것을 작동시키려고 노력 중입니다 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