터미널 내에서 MySQL에서 다음 명령을 실행하려고했을 때 :
mysql -u $user -p$password -e "statement"
실행은 예상대로 작동하지만 항상 경고를 발행합니다.
경고 : 명령 행 인터페이스에서 비밀번호를 사용하면 안전하지 않을 수 있습니다.
그러나 $password
터미널 내에서 bash 스크립트에서 반복적으로 명령을 실행하고 싶기 때문에 프롬프트가 표시되는 것을 기다리는 것을 좋아하지 않기 때문에 암호를 저장 하는 환경 변수 ( )를 사용하여 위의 명령문을 수행 해야합니다. 한 번의 스크립트로 비밀번호를 50 번 또는 100 번 입력하도록 강요했습니다. 여기 내 질문이 있습니다.
경고를 억제하는 것이 가능합니까? 내가 말한대로 명령이 제대로 작동하지만 반복하여 명령을 50 또는 100 번 실행할 때 창이 지저분 해집니다.
경고 메시지를 준수하고 스크립트에 비밀번호를 쓰지 않아야합니까? 이 경우 프롬프트가 표시 될 때마다 비밀번호를 입력해야합니까?
달리는 man mysql
것은 도움이되지 않습니다.
--show-warnings
각 명령문 뒤에 경고가 표시됩니다. 이 옵션은 대화식 및 배치 모드에 적용됩니다.
내가 빠진 것이 없다면 기능을 끄는 방법에 대해서는 언급하지 않았습니다.
OS X 10.9.1 Mavericks를 사용하고 있으며 homebrew에서 MySQL 5.6을 사용합니다.
pexcept
. 터미널 삽입을 수행하고 명령이 제공하는 피드백도 처리 할 수 있습니다. 이 방법으로 당신은 그 장황한 출력과 당신이 원하는 실제 출력의 스트립을 건너 뛸 수 있습니다 :)
[client]
password=my_password
에서~/.my.cnf
). 확실히 보안에 영향을 줄 수는 있지만 적어도 실행할 수 있는 사람은 액세스 할 수 없으며ps
파일 권한으로 제어 할 수 있습니다.