tt_Gantz tt_Gantz - 8 months ago 117
SQL Question

install mysql 5.7 purely from bash script on Ubuntu

I want a bash script that installs a MySQL 5.7 instance without needing any manual input.

I was following the tutorial on Digital Ocean and it says for 5.7 you have to run the following commands and then put commands into a prompt (screenshot below).

sudo dpkg -i mysql-apt-config_0.6.0-1_all.deb

How can I automate the installation if it requires me to use a prompt? Should I try to simulate keystrokes? Or am I going about it the wrong way?

enter image description here


This answer is a combination and alteration of Bimmy's and khrm's answers.


You have to set debconf values which will automatically fill in the values prompted for by the installation.

export DEBIAN_FRONTEND="noninteractive" sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password rootpw" sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password rootpw"

To get the values you need, just run installation normally, a good tutorial of it is here


Update the information needed for APT by adding the 5.7 repository and updating `apt-get

sudo apt-key adv --keyserver --recv-keys 5072E1F5 cat <<- EOF > /etc/apt/sources.list.d/mysql.list deb trusty mysql-5.7 EOF sudo apt-get update


Install MySQL. You can run my mysql_secure_installation but then that will ask you for more prompts. mysql_secure_installation is just a script so if you want to you can just run the parts of that script which are relevant to you.

I just ran sudo apt-get install -y mysql-server-5.7 on its own.