9

LAMP 環境の構築を自動化する bash スクリプトをセットアップしています。

debconf-set-selectionsmysql、phpmyadminなどをインストールする前にオプションを設定するために使用しています...

それは主にうまく機能します。しかし、問題は、mysql に空のパスワードを設定する必要があり、以前に入力した行を使用しても、インストール中にパスワードを要求することです。

echo "mysql-server-5.5  mysql-server/root_password  password" | debconf-set-selections
echo "mysql-server-5.5  mysql-server/root_password_again    password" | debconf-set-selections
4

4 に答える 4

8

mysql-serverを使用してのパッケージ インストール プロセス中に空のパスワードを設定するための推奨される方法は、使用debconf-set-selectionsしているパッケージのバージョンによって異なります。

  • MySQL 5.7

    パスワードを空に設定することは可能ですが、その場合、インストール プロセスによって認証プラグインauth_socketが自動的に有効になります。したがって、パスワードなしのログインは、ソケット ベースの認証を使用することを条件とします (たとえば、ローカル マシンUNIXのユーザー アカウントからログインを行う必要があります)。root

    • MySQL APT リポジトリが提供するパッケージの場合:

      sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/root-pass password "
      sudo debconf-set-selections <<< "mysql-community-server mysql-community-server/re-root-pass password "
      
    • Ubuntu パッケージ リポジトリが提供するパッケージの場合:

      sudo debconf-set-selections <<< "mysql-server mysql-server/root-password password "
      sudo debconf-set-selections <<< "mysql-server mysql-server/root-password_again password "
      
  • MySQL 5.5 および MySQL 5.6

    この回答で提案されている解決策は、空のパスワードを確認するマイナーな追加で機能するはずです。

    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password \"''\""
    sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password \"''\""
    

フォールバック ソリューション

debconfすべてのアプローチが失敗した場合、ユーザーにパスワードをまったく要求しないようにすることで、問題を回避し、暗黙的にパスワードを空白のままにすることができます。残念ながら、これはパスワード関連の質問だけでなく、すべての質問に当てはまります。

目的の結果を得る 2 つの方法を次に示します。

  • debconfのフロントエンドを に設定noninteractive:

    DEBIAN_FRONTEND=noninteractive apt-get install [-y] [-q] mysql-server
    
  • debconfの優先レベルを に設定critical:

    DEBIAN_PRIORITY=critical apt-get install [-y] [-q] mysql-server
    

    この方法は、重要なメッセージを表示できるため、おそらく好ましい方法です。

于 2015-04-09T13:46:11.313 に答える
0

実際に空の引数を追加してみてください

echo mysql-server-5.5 mysql-server/root_password password "" | debconf-set-selections
echo mysql-server-5.5 mysql-server/root_password_again password "" | debconf-set-selections
于 2014-04-29T09:01:15.963 に答える