2012-03-16 30 views
14

puedo instalar MySQL en Ubuntu sin que se soliciten con el código de abajo:Instalación Percona/MySQL en Ubuntu sin vigilancia

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 el debconf-set-selections que obtuve algún lugar en línea (podría estar aquí no puede recuerda) y hasta ahora me ha funcionado bien. No soy tan experto como para entender cómo funciona, pero lo hace.

Sin embargo, quiero hacer lo mismo con Percona. Configuré apt manager para manejar el uso de apt-get para Percona. Así que ahora mi código es el siguiente:

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 

Sin embargo, Percona instala pero sin una contraseña como se define. Sé que me falta algo en el bit de debconf.

Agradecería alguna orientación aquí.

Gracias de antemano.

Respuesta

0

siempre se puede hacer una instalación normal y luego la escritura:

  • servidor a MySQL
  • comenzando con skip-grant-tables
  • contraseñas de ajuste
  • matando al mysql comenzado temporalmente sin autenticación
  • partir regulares mysql
+0

Necesito una instalación 100% desatendida. ¿Su enfoque se ajusta a la factura y tiene muestras de código? –

5

realidad me encontré con que la respuesta aquí install mysql on ubuntu without password prompt que sugería

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

funcionó y me dejó con un usuario root sin contraseña, que es lo que quería.

5

La segunda parte de la debconf-prefix no debe contener el número de versión:

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 

Para 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

Piense lo he descubierto

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 

No utilice export DEBIAN_FRONTEND=noninteractive. Si las entradas de debconf son correctas, no se te preguntará de todos modos. Si son incorrectos y usa noninteractive, el aviso continuará con una contraseña en blanco.

Desde 'ganchos en' Percona MySQL comprobar que ha instalado correctamente usando

service mysql status 

y sabrán que es Percona si ves algo como

MySQL.servicio - LSB: Iniciar y detener el mysql (Percona Server) daemon

Entonces, finalmente, comprobar la contraseña se estableció correctamente

mysql -u user -pmypassword 

EDIT: Dicho esto, hay una nueva versión de Percona, F21 La respuesta de mi funcionó para mí. Puede verificar las entradas en /var/cache/debconf/passwords.dat

+0

Gracias. Ha pasado un tiempo que necesitaba esto, pero probaré esto y lo veré. –

+0

Funciona para mí. +1 – Plenka

0

Si comprende lo que sucede debajo del capó, es más fácil depurar y descubrir por qué esto no funciona.

Cuando instala un paquete Debian muchas veces recibe preguntas sobre licencias, contraseñas, ubicaciones, etc. Todos esos valores se almacenan en debconf. Si desea realizar una instalación desatendida, puede precargar esas respuestas en debconf para que no se le pregunte por esas preguntas, ya que ya están respondidas.

El desafío surge cuando se entiende cómo responder adecuadamente a esas preguntas. Para ello primero tiene que instalar el paquete debconf-utils

apt install debconf-utils

continuación, tiene que instalar manualmente el paquete.

En mi caso estoy instalando el paquete 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 

Después de esto se ha instalado usted puede conseguir las selecciones que se han establecido con la función deb-get-selections.

debconf-set-selections | grep percona 

En la respuesta, verá las selecciones que se establecieron. En este 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 

Ahora puede copiar los valores que desea establecer. En mi caso, quiero configurar automáticamente la contraseña de root.

En su secuencia de comandos de instalación automatizada, ahora puede usar la herramienta debconf-set-selections para automatizar la configuración de los valores de la pregunta de contraseña de root y la pregunta de confirmación de la contraseña de 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!

Cuestiones relacionadas