it-swarm.com.de

Installieren Sie MySQL unter Ubuntu ohne Passwortabfrage

Wie schreibe ich ein Skript, um MySQL Server unter Ubuntu zu installieren?

Sudo apt-get install mysql wird installiert, fordert aber auch zur Eingabe eines Passworts in der Konsole auf.

Wie mache ich das nicht interaktiv? Schreiben Sie also ein Skript, das das Kennwort bereitstellen kann?

#!/bin/bash
Sudo apt-get install mysql  # To install MySQL server

# How to write script for assigning password to MySQL root user
# End
297
Venkat
Sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password your_password'
Sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password your_password'
Sudo apt-get -y install mysql-server

Für bestimmte Versionen wie mysql-server-5.6, Sie müssen die Version folgendermaßen angeben:

Sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password password your_password'
Sudo debconf-set-selections <<< 'mysql-server-5.6 mysql-server/root_password_again password your_password'
Sudo apt-get -y install mysql-server-5.6

Für mysql-community-server unterscheiden sich die Schlüssel geringfügig:

Sudo debconf-set-selections <<< 'mysql-community-server mysql-community-server/root-pass password your_password'
Sudo debconf-set-selections <<< 'mysql-community-server mysql-community-server/re-root-pass password your_password'
Sudo apt-get -y install mysql-community-server

Ersetzen Sie Ihr_Kennwort durch das gewünschte Root-Kennwort. (Es scheint, dass Ihr_Kennwort für ein leeres Root-Kennwort auch leer gelassen werden kann.)

Wenn Ihre Shell here-strings (zsh, ksh9 und bash nicht unterstützt, verwenden Sie:

echo ... | Sudo debconf-set-selections 
426

Dies sollte den Trick machen

export DEBIAN_FRONTEND=noninteractive
Sudo -E apt-get -q -y install mysql-server

Natürlich hinterlässt es Ihnen ein leeres Root-Passwort - Sie möchten also so etwas wie ausführen

mysqladmin -u root password mysecretpasswordgoeshere

Anschließend fügen Sie dem Konto ein Passwort hinzu.

235
Mez

Ein anderer Weg, um es zum Laufen zu bringen:

echo "mysql-server-5.5 mysql-server/root_password password root" | debconf-set-selections
echo "mysql-server-5.5 mysql-server/root_password_again password root" | debconf-set-selections
apt-get -y install mysql-server-5.5

Beachten Sie, dass das Passwort einfach auf "root" gesetzt wird. Ich konnte es nicht schaffen, ein leeres Passwort mit einfachen Anführungszeichen zu setzen '', aber diese lösung hat mir gereicht.

Basierend auf einer Lösung hier .

29
chrisfargen

Verwenden:

Sudo DEBIAN_FRONTEND=noninteractive apt-get install -y mysql-server

Sudo mysql -h127.0.0.1 -P3306 -uroot -e"UPDATE mysql.user SET password = PASSWORD('yourpassword') WHERE user = 'root'"
3
BALAJI POTHULA