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 문서에서.