Installing MySQL on Ubuntu Natty with Shell Script
- by Obi Hill
I'm trying to install MySQL on Ubuntu Natty from a shell script. However, I keep running into one major issue: when I try to define the password outside of the shell script.
Below is the code to my shell script (which I have saved in /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
So what I enter in the terminal is:
dbpass="mysqlpass"
chmod +x /etc/init.d/install_mysql
/etc/init.d/install_mysql
MySQL installs, but it installs without a password, so I can just do something like mysql -uroot to access mysql (which I don't want).
The funny thing is if I put the password in the shell script as regular text, it works ok. So if I my install script is as follows, everything works (i.e. I must specify a password to access 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
Is there a way I can use a shell script variable to define my password in the shell script, instead of entering the password literally?!
Thanks in advance.
EDIT
I've found the answer to this.
The following is what I should have entered in the terminal:
dbpass="mysqlpass"
export dbpass
chmod +x /etc/init.d/install_mysql
/etc/init.d/install_mysql
It works like a charm now.