2016-05-02 8 views
2

Ich versuche, einen Shell-Aufruf für nicht-interaktive mysql 5.7 Community-Server-Installation auf Ubuntu 14.04 zu erstellen. Laut verschiedenen Quellen sollte die Verwendung von debconf-set-selections eine solche Installation erlauben, aber ich kann nicht-interaktives dpkg-Installationsprogramm starten.mysql 5.7 Community-Server nicht-interaktive apt installieren

Bellow sind die env Variablen, die ich für nicht-interaktive zu verwenden versuche

[email protected]:/sql$ echo $DEBIAN_FRONTEND 
noninteractive 
[email protected]:/sql$ echo mysql-apt-config mysql-apt-config/enable-repo select mysql-5.7 | sudo debconf-set-selections 
installieren

Hier werden alle mysql-apt-config-Einstellungen für das System sind

[email protected]:/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 

und die Installation selbst:

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 

wird im interaktiven Modus gestartet.

Irgendwelche Ideen? Diese

+0

Überprüfen Sie diesen Beitrag, um zu sehen, wie Sie dies debuggen und sehen, was nicht funktioniert - https://Stackoverflow.com/a/49136923/454421 - Sie haben wahrscheinlich die falschen Schlüssel –

Antwort

7

arbeitet für mich, wenn läuft als 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 
+0

Dies half, vielen Dank! – Armo

+0

Das funktioniert bei mir nicht mit mysql-apt-config_0.7.3-1_all.deb. Ich bekomme immer noch die interaktive Eingabeaufforderung. Irgendwelche Ideen? – Stanley

+3

Konnte "mysql-apt-config_0.7.3-1_all.deb" arbeiten und wollte posten, wie ich es für andere gemacht habe. Gehe mindestens einmal durch das interaktive Setup und beantworte die Fragen. Wenn Sie fertig sind, führen Sie Folgendes aus: 'debconf-get-selections | grep mysql-apt-config'. Dies zeigt die notwendigen apt config Einstellungen; Kopiere sie und lege sie in dein Bash-Skript. Führen Sie 'wget',' dpkg' und 'apt-get update' aus. Für die 'apt-get install' musste ich 'mysql-server' anstelle von 'mysql-server-5.7' verwenden. Eine einfache Möglichkeit, das zu installierende Paket zu finden, ist 'sudo apt-cache search mysql | grep mysql'. Ich hoffe es hilft! – Stanley

0

Ganz einfach laufen. Works on 16.04

export DEBIAN_FRONTEND=noninteractive 

debconf-set-selections <<< 'mysql-server-5.7 mysql-server/root_password password password' 
debconf-set-selections <<< 'mysql-server-5.7 mysql-server/root_password_again password password' 

apt-get install --assume-yes mysql-server-5.7 mysql-client 

#update 'password' to whatever you want to use 
mysql -u root -password -e "use mysql; UPDATE user SET authentication_string=PASSWORD('password') WHERE User='root'; flush privileges;" 
0

Die angenommene Antwort funktioniert. Ich möchte einfach diese links setzen, die eine Erklärung gibt, wie man debconf-set-selections benutzt und wie man die Liste der Parameter findet.

Verwandte Themen