이 mysql -e "{command}"
기능 을 사용하는 몇 가지 BASH 도구가 있습니다 . 이 도구를 사용할 때마다 암호를 입력하면 번거로울 수 있으므로 암호를 코드와 함께 일반 텍스트 파일로 작성하지 않으려면 메모리에 저장하고 (을 사용하여 read -s
) 명령을 실행할 때마다 BASH에서 읽습니다.
MySQL은 여전히 암호가 명령 줄을 통해 제출되고 있다고 생각하지만 (명령 방식으로 암호를 사용하는 것은 안전하지 않을 수 있음) 오류가 계속 발생합니다.
내 목적을 위해이 메시지를 표시하지 않아도됩니다. 내가 알아야 할 것은 무엇이 불안전 할 수 있는가? 암호는 물리적으로 절대 표시되지 않으므로 어깨 서핑을 할 수 없으며 SSH 암호를 추측 한 사람조차도 스크립트 자체가 아닌 메모리에 저장되어 있기 때문에 암호를 추측 할 수 없습니다. 중간자 공격 또는 이와 유사한 것이 가능합니까?
bash
명령을 실행할 때 어떻게 읽었습니까? 그렇게 mysql -p"$pass"
하면 누구나에서 볼 수 있습니다 ps
.
~/.my.cnf
예 수행하여 당신은 호스트 당 지정할 수 있습니다[client<hostname>]
예를 들어,[clientlocalhost]
더 쉽고 안전 있도록 자동으로 사용합니다 MySQL의 도구