J'essaie d'installer MySQL sur Ubuntu Natty sans l'invite de mot de passe. Cependant, je reçois toujours un mot de passe à un moment donné après l'installation principale.
De plus, lorsque j'entre ce que je crois être mon mot de passe (mymysqlpass), cela me donne un avis d'accès refusé. Ensuite, lorsque le script se termine, je peux me connecter à mysql sans mot de passe, c'est-à-dire mysql -uroot, ce qui ne devrait pas se produire.
#!/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
la source
la source
debconf-set-selections
qui éviteront cela, rétrogradées parce que je crois que la question et l'exemple de code ont été modifiés à deux moments différents et maintenant le question n'a plus de sens.Réponses:
Les commandes suivantes définissent le mot de passe racine MySQL
strangehat
lorsque vous installez lemysql-server
package.Notez que cela crée une copie en texte clair de votre mot de passe dans
/var/cache/debconf/passwords.dat
(qui n'est normalement lisible que par root et le mot de passe sera supprimé par le système de gestion de package après l'installation réussie dumysql-server
package).Assurez-vous d'utiliser des guillemets si vous l'utilisez dans Dockerfile.
Vous pouvez maintenant installer
mysql-server
et l'invite de mot de passe n'apparaît pas:la source
cela installera mysql sans aucune intervention
la source
Cela pourrait fonctionner pour qu'il ne vous invite pas:
Quant au script, j'essaierais de mettre le mot de passe entre guillemets:
la source
Cette partie a besoin d'une reformulation si vous voulez mettre le mot de passe entre guillemets: 'mysql-server-5.1 mysql-server / root_password password' $ mysql_pass ''
À:
Cela a fonctionné pour moi (mot de passe root vide):
la source