311

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
4

4 に答える 4

436
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を目的のrootパスワードに置き換えます。(rootパスワードを空白にするためにyour_passwordを空白のままにすることもできるようです。)

シェルがヒア文字列をサポートしていない場合(zshksh93bashはそれらをサポートします)、次を使用します。

echo ... | sudo debconf-set-selections 
于 2011-10-12T13:08:49.260 に答える
243

これでうまくいくはずです

export DEBIAN_FRONTEND=noninteractive
sudo -E apt-get -q -y install mysql-server

もちろん、空白の root パスワードが残るので、次のようなものを実行する必要があります。

mysqladmin -u root password mysecretpasswordgoeshere

その後、アカウントにパスワードを追加します。

于 2011-10-12T12:55:32.850 に答える
31

それを機能させる別の方法:

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」に設定することに注意してください。単純な引用符を使用して空白のパスワードを設定することはできませんでした''が、この解決策で十分でした。

ここの解決策に基づいています。

于 2013-11-17T22:48:23.263 に答える