![프로그램을 시작한 후 프로그램에 두 개의 매개변수를 자동으로 제공하려면 어떻게 해야 합니까? [복사]](https://linux55.com/image/84289/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%9D%84%20%EC%8B%9C%EC%9E%91%ED%95%9C%20%ED%9B%84%20%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8%EC%97%90%20%EB%91%90%20%EA%B0%9C%EC%9D%98%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%9E%90%EB%8F%99%EC%9C%BC%EB%A1%9C%20%EC%A0%9C%EA%B3%B5%ED%95%98%EB%A0%A4%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
MySQL 데이터베이스에 대한 새 테이블을 시작하고 생성하기 위해 우분투에서 잘 작동하는 다음 스크립트가 있습니다.
echo "CREATE DATABASE database_name" | mysql -u root -p
이 명령을 실행한 후 MySQL은 비밀번호를 묻습니다.
유일한 문제는 방랑 구성 bash 스크립트에서 이 작업을 수행하고 싶기 때문에 비밀번호 입력 프로세스를 자동화해야 한다는 것입니다. 기본적으로 다음과 같이 MySQL 프로그램에 입력 라인을 제공해야 합니다.
Enter password: password_goes_here
데이터베이스 생성 명령과 비밀번호를 텍스트로 프로그램에 입력하는 과정을 어떻게 통합할 수 있나요?
답변1
이 특정 문제의 경우 가장 간단한 해결책은 다음과 같이 명령 매개변수에 비밀번호를 제공하는 것입니다 mysql
.
echo "CREATE DATABASE database_name" | mysql -u root --password=your_password
이는 요청하기 전에 mysql에 비밀번호를 제공합니다.
답변2
@아마추어 프로그래머의 답변좋습니다. 하지만 한 가지만 추가하고 싶었습니다. 누군가 비밀번호를 실행할 때 비밀번호가 노출되는 것이 걱정된다면 ps auxwww
다음과 같은 환경 변수를 사용하여 MySQL에 비밀번호를 제공할 수도 있습니다 MYSQL_PWD
.
mysql> set password for 'will@localhost' = PASSWORD('test');
Query OK, 0 rows affected, 1 warning (0.01 sec)
$ export MYSQL_PWD=test
$ mysql -uwill@localhost
Welcome to the MySQL monitor.
이 옵션과 다른 옵션이 설명되어 있습니다.MySQL 문서에서.