[mysql] 비밀번호 프롬프트없이 우분투에서 MySQL 설치
Ubuntu에 MySQL 서버를 설치하는 스크립트를 작성하는 방법
sudo apt-get install mysql
설치되지만 콘솔에 암호를 입력하라는 메시지도 표시됩니다.
비 대화식 방식으로 어떻게해야합니까? 즉, 암호를 제공 할 수있는 스크립트를 작성 하시겠습니까?
#!/bin/bash
sudo apt-get install mysql # To install MySQL server
# How to write script for assigning password to MySQL root user
# End
답변
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password your_password'
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password your_password'
sudo apt-get -y install mysql-server
와 같은 특정 버전의 경우 다음과 같이 버전 mysql-server-5.6
을 지정해야합니다.
sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password password your_password'
sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password_again password your_password'
sudo apt-get -y install mysql-server-5.6
mysql-community-server의 경우 키가 약간 다릅니다.
sudo debconf-set-selections <<< 'mysql-community-server mysql-community-server/root-pass password your_password'
sudo debconf-set-selections <<< 'mysql-community-server mysql-community-server/re-root-pass password your_password'
sudo apt-get -y install mysql-community-server
your_password를 원하는 루트 비밀번호로 바꾸십시오. (비어있는 루트 암호를 위해 your_password를 비워 둘 수도 있습니다.)
쉘이 here-strings ( zsh , ksh93 및 bash가 지원)를 지원 하지 않는 경우 다음을 사용하십시오.
echo ... | sudo debconf-set-selections
답변
이 트릭을해야합니다
export DEBIAN_FRONTEND=noninteractive
sudo -E apt-get -q -y install mysql-server
물론, 그것은 빈 루트 암호를 남깁니다. 따라서 다음과 같은 것을 실행하고 싶을 것입니다
mysqladmin -u root password mysecretpasswordgoeshere
이후 계정에 비밀번호를 추가합니다.
답변
그것을 작동시키는 또 다른 방법 :
echo "mysql-server-5.5 mysql-server/root_password password root" | debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password_again password root" | debconf-set-selections
apt-get -y install mysql-server-5.5
이는 단순히 비밀번호를 “root”로 설정한다는 점에 유의하십시오. 간단한 따옴표를 사용하여 빈 암호를 설정할 수는 ''
없었지만이 솔루션으로 충분했습니다.
여기 에 솔루션을 기반으로합니다 .
답변
사용하다:
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server
sudo mysql -h127.0.0.1 -P3306 -uroot -e"UPDATE mysql.user SET password = PASSWORD('yourpassword') WHERE user = 'root'"