2012-03-16 25 views
14

posso installare MySQL su Ubuntu senza istruzioni con il codice qui sotto:Installazione Percona/MySQL su Ubuntu incustodito

dbpass="mydbpassword" 
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 

la parte con il debconf-set-selections che ho ricevuto da qualche parte online (potrebbe essere qui non può ricorda) e ha funzionato bene per me finora. Non sono tanto un esperto per capire come funziona, ma lo fa.

Tuttavia, voglio fare la stessa cosa per Percona. Ho impostato il gestore di pacchetti apt per gestire l'utilizzo di apt-get per percona. Così ora il mio codice è il seguente:

dbpass="dbpass" && export dbpass 
export DEBIAN_FRONTEND=noninteractive 
echo percona-server-server-5.5 percona-server-server-5.5/root_password password $dbpass | debconf-set-selections 
echo percona-server-server-5.5 percona-server-server-5.5/root_password_again password $dbpass | debconf-set-selections 
apt-get -y install percona-server-server-5.5 

Tuttavia, Percona installa ma senza password come definito. So che mi manca qualcosa nel bit di debconf.

Gradirei una guida qui.

Grazie in anticipo.

risposta

0

si può sempre fare l'installazione normale e poi script:

  • server di uccisione mysql
  • partire con skip-grant-tables
  • regolazione password
  • uccidendo il mysql iniziato temporaneamente senza autenticazione
  • partire regolare mysql
+0

Ho bisogno di un'installazione automatica al 100%. Il tuo approccio si adatta al conto e hai qualche campione di codice? –

5

realtà ho trovato che la risposta qui install mysql on ubuntu without password prompt che ha suggerito

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

lavorato e mi ha lasciato con un utente root senza password, che è quello che volevo.

5

La seconda parte del debconf-prefix non deve contenere il numero di versione:

echo percona-server-server-5.5 percona-server-server/root_password password $dbpass | sudo debconf-set-selections 
echo percona-server-server-5.5 percona-server-server/root_password_again password $dbpass | sudo debconf-set-selections 

Per 5.6:

echo percona-server-server-5.6 percona-server-server/root_password password $dbpass | sudo debconf-set-selections 
echo percona-server-server-5.6 percona-server-server/root_password_again password $dbpass | sudo debconf-set-selections 
2

Think I figured it out

echo "percona-server-server-5.5 mysql-server/root_password password mypassword" | debconf-set-selections 
echo "percona-server-server-5.5 mysql-server/root_password_again password mypassword" | debconf-set-selections 

Non utilizzare export DEBIAN_FRONTEND=noninteractive. Se le voci di debconf sono corrette, non verrà comunque richiesto. Se non sono corretti e si utilizza noninteractive, il prompt continuerà con una password vuota.

Poiche 'ganci in' Percona MySQL controllare che lo ha installato correttamente utilizzando

service mysql status 

e si sa che è Percona se si vede qualcosa di simile

mysql.il servizio - LSB: Avviare e fermare il mysql (Percona Server) daemon

Poi finalmente controllare la password è stata impostata correttamente

mysql -u user -pmypassword 

EDIT: Detto questo, per una nuova versione di Percona, F21 La risposta di ha funzionato per me. È possibile controllare le voci in /var/cache/debconf/passwords.dat

+0

Grazie. Era da un po 'che ne avevo bisogno, ma ci provo e vedo. –

+0

Funziona per me. +1 – Plenka

0

Se si capisce cosa sta succedendo sotto il cofano, è più facile eseguire il debug e capire perché questo non funziona.

Quando si installa un pacchetto Debian spesso si verificano domande su licenze, password, posizioni, ecc. Tutti questi valori sono memorizzati in debconf. Se si desidera eseguire un'installazione automatica, è possibile eseguire il precaricamento di tali risposte in debconf in modo tale che non vengano richieste tali domande, poiché esse hanno già una risposta.

La sfida arriva quando si capisce come rispondere correttamente a queste domande. Per fare questo è necessario prima installare il debconf-utils

apt install debconf-utils

successivo è necessario installare manualmente il pacchetto.

Nel mio caso sto installando il pacchetto percona-xtradb-cluster-57.

wget https://repo.percona.com/apt/percona-release_0.1-4.$(lsb_release -sc)_all.deb 
sudo dpkg -i percona-release_0.1-4.$(lsb_release -sc)_all.deb 
sudo apt-get update -y 
sudo apt-get install -y percona-xtradb-cluster-57 

Dopo questo è stato installato è possibile ottenere le selezioni che sono state impostate utilizzando lo strumento deb-get-selections.

debconf-set-selections | grep percona 

Nella risposta verranno visualizzate le selezioni impostate. In questo caso

percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/root-pass password 
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/re-root-pass password 
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/remove-data-dir boolean false 
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/root-pass-mismatch error 
percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/data-dir note 

È ora possibile copiare i valori che si desidera impostare. Nel mio caso voglio impostare automaticamente la password di root.

Nello script di installazione automatica è ora possibile utilizzare lo strumento debconf-set-selections per automatizzare l'impostazione dei valori per la domanda della password di root e la domanda di conferma della password di root.

echo "percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/root-pass password my_temp_password" | debconf-set-selections 
echo "percona-xtradb-cluster-server-5.7 percona-xtradb-cluster-server-5.7/re-root-pass password my_temp_password" | debconf-set-selections 

Happy Automating!