Estoy tratando de instalar MySQL en Ubuntu Natty sin la solicitud de contraseña. Sin embargo, me siguen pidiendo una contraseña en algún momento después de la instalación principal.
Además, cuando ingreso lo que creo que debería ser mi contraseña (mymysqlpass), me da un aviso de acceso denegado. Luego, cuando finaliza el script, puedo iniciar sesión en mysql sin una contraseña, es decir, mysql -uroot, lo que no debería suceder.
#!/bin/bash
#This script installs mysql (latest build)
#Install MYSQL Server
mysql_pass=mymysqlpass
export DEBIAN_FRONTEND=noninteractive
debconf-set-selections <<< 'mysql-server-5.1 mysql-server/root_password password '$mysql_pass''
debconf-set-selections <<< 'mysql-server-5.1 mysql-server/root_password_again password '$mysql_pass''
apt-get -y install mysql-server
#Configure Password and Settings for Remote Access
cp /etc/mysql/my.cnf /etc/mysql/my.bak.cnf
ip=`ifconfig eth0 | grep "inet addr"| cut -d ":" -f2 | cut -d " " -f1` ; sed -i "s/\(bind-address[\t ]*\)=.*/\1= $ip/" /etc/mysql/my.cnf
mysql -uroot -e "UPDATE mysql.user SET Password=PASSWORD('"$mysql_pass"') WHERE User='root'; FLUSH PRIVILEGES;"
sleep 10
mysql -uroot -p$mysql_pass -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '"$mysql_pass"'; FLUSH PRIVILEGES;"
#Restart
service mysql restart
echo "MySQL Installation and Configuration is Complete."
software-installation
mysql
password
Chuck Ugwuh
fuente
fuente
debconf-set-selections
lo que evitaré, rechazado porque creo que la pregunta y el código de muestra fueron editados en dos puntos diferentes en el tiempo y ahora el la pregunta ya no tiene sentido.Respuestas:
Los siguientes comandos configuran la contraseña de root de MySQL
strangehat
cuando instala elmysql-server
paquete.Tenga en cuenta que esto crea una copia de texto sin cifrar de su contraseña
/var/cache/debconf/passwords.dat
(que normalmente solo puede leer el usuario root y el sistema de administración de paquetes eliminará la contraseña después de la instalación exitosa delmysql-server
paquete).Asegúrese de usar comillas si lo usa en Dockerfile.
Ahora puede instalar
mysql-server
y el mensaje de contraseña no aparece:fuente
esto instalará mysql sin ninguna intervención
fuente
Esto podría funcionar para que no le solicite:
En cuanto al guión, trataría de poner la contraseña entre comillas:
fuente
Esta parte necesita una reformulación si desea poner la contraseña entre comillas: 'mysql-server-5.1 mysql-server / root_password contraseña' $ mysql_pass ''
A:
Esto funcionó para mí (contraseña de root vacía):
fuente