Search code examples
mysqlaptdpkg

mysql 5.7 community server non-interactive apt install


I am trying create a shell call for non-interactive mysql 5.7 community server installation on ubuntu 14.04. According to various sources using debconf-set-selections should allow such an installation yet I am unable to launch non-interactive dpkg installer.

Bellow are the env variables that I am trying to use for non-interactive install

vagrant@default-ubuntu-1404:/sql$ echo $DEBIAN_FRONTEND 
noninteractive
vagrant@default-ubuntu-1404:/sql$ echo mysql-apt-config mysql-apt-config/enable-repo select mysql-5.7 | sudo debconf-set-selections

Here are all the mysql-apt-config settings for the system

vagrant@default-ubuntu-1404:/sql$ sudo debconf-get-selections | grep mysql
    mysql-apt-config    mysql-apt-config/select-tools   select  workbench-6.2 workbench-6.3 connector-python-2.0 connector-python-2.1 router-2.0 mysql-utilities-1.5 mysql-tools
    mysql-apt-config    mysql-apt-config/select-preview select  
    mysql-apt-config    mysql-apt-config/repo-distro    select  ubuntu
    mysql-apt-config    mysql-apt-config/enable-repo    select  mysql-5.7
    mysql-apt-config    mysql-apt-config/repo-url   string  http://repo.mysql.com/apt/
    # Choices: MySQL Server (Currently selected: mysql-5.7), MySQL Tools & Connectors (Currently selected: Enabled), MySQL Preview Packages (Currently selected: Disabled), Ok
    mysql-apt-config    mysql-apt-config/select-product select  
    mysql-apt-config    mysql-apt-config/repo-codename  select  trusty
    mysql-apt-config    mysql-apt-config/unsupported-platform   select  abort
    # Choices: mysql-5.6, mysql-5.7, None
    mysql-apt-config    mysql-apt-config/select-server  select  

And the installation itself:

wget http://dev.mysql.com/get/mysql-apt-config_0.7.2-1_all.deb
sudo dpkg -i mysql-apt-config_0.7.2-1_all.deb

gets launched in interactive mode.

Any ideas?


Solution

  • This works for me if running as root

    export DEBIAN_FRONTEND=noninteractive
    
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/repo-codename select trusty'
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/repo-distro select ubuntu'
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/repo-url string http://repo.mysql.com/apt/'
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-preview select '
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-product select Ok'
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-server select mysql-5.7'
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/select-tools select '
    debconf-set-selections <<< 'mysql-apt-config mysql-apt-config/unsupported-platform select abort'
    
    wget http://dev.mysql.com/get/mysql-apt-config_0.7.2-1_all.deb
    dpkg -i mysql-apt-config_0.7.2-1_all.deb
    apt-get update
    apt-get install -y mysql-server-5.7