シェルスクリプトからUbuntuNattyにMySQLをインストールしようとしています。ただし、シェルスクリプトの外部でパスワードを定義しようとすると、1つの大きな問題が発生し続けます。
以下は、シェルスクリプト(/etc/init.d/install_mysqlに保存したもの)のコードです。
export DEBIAN_FRONTEND=noninteractive
echo mysql-server-5.1 mysql-server/root_password password $dbpass | debconf-set-selections
echo mysql-server-5.1 mysql-server/root_password_again password $dbpass | debconf-set-selections
apt-get -y install mysql-server
だから私がターミナルに入力するのは:
dbpass="mysqlpass"
chmod +x /etc/init.d/install_mysql
/etc/init.d/install_mysql
MySQLはインストールされますが、パスワードなしでインストールされるので、mysql -uroot
mysqlにアクセスするようなことをすることができます(これは必要ありません)。
面白いのは、パスワードを通常のテキストとしてシェルスクリプトに入れれば、問題なく機能することです。したがって、インストールスクリプトが次のようになっている場合、すべてが機能します(つまり、mysqlにアクセスするにはパスワードを指定する必要があります)。
export DEBIAN_FRONTEND=noninteractive
echo mysql-server-5.1 mysql-server/root_password password mysqlpass | debconf-set-selections
echo mysql-server-5.1 mysql-server/root_password_again password mysqlpass | debconf-set-selections
apt-get -y install mysql-server
パスワードを文字通り入力する代わりに、シェルスクリプト変数を使用してシェルスクリプトでパスワードを定義する方法はありますか?!
前もって感謝します。
編集:
変数宣言$dbpass="mysqlpass"
をに編集しましたdbpass="mysqlpass"
。タイプミスでした。