bash - restaurar - Instale MySQL en Ubuntu sin una solicitud de contraseña
restaurar contraseña de mysql (4)
Esto debería funcionar
export DEBIAN_FRONTEND=noninteractive
sudo -E apt-get -q -y install mysql-server
Por supuesto, te deja con una contraseña de root en blanco, así que querrás ejecutar algo como
mysqladmin -u root password mysecretpasswordgoeshere
Después de agregar una contraseña a la cuenta.
¿Cómo escribo un script para instalar el servidor MySQL en Ubuntu?
sudo apt-get install mysql
se instalará, pero también solicitará que se ingrese una contraseña en la consola.
¿Cómo hago esto de una manera no interactiva? Es decir, escribir un script que pueda proporcionar la contraseña?
#!/bin/bash
sudo apt-get install mysql # To install MySQL server
# How to write script for assigning password to MySQL root user
# End
Otra forma de hacerlo funcionar:
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
Tenga en cuenta que esto simplemente establece la contraseña a "root". No pude establecer una contraseña en blanco con comillas simples ''''
, pero esta solución fue suficiente para mí.
Basado en una solución here .
Utilizar:
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''"
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
Para versiones específicas, como mysql-server-5.6
, deberás especificar la versión de esta manera:
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
Para mysql-community-server, las claves son ligeramente diferentes:
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
Reemplace your_password con la contraseña de root deseada. (Parece que su contraseña también puede dejarse en blanco para una contraseña de raíz en blanco).
Si su shell no es compatible con las cadenas de caracteres ( zsh , ksh93 y bash las admiten), use:
echo ... | sudo debconf-set-selections