MySQL'i şifre istemi olmadan nasıl yüklerim?


26

MySQL'i Ubuntu Natty'ye şifre istemeden yüklemeye çalışıyorum. Ancak, ana kurulumdan sonra bir aşamada bir şifre soruluyor.

Ayrıca, şifrem olması gerektiğine inandığım şeyi girdiğimde (mymysqlpass), bana erişim reddedilme uyarısı veriyor. Sonra komut dosyası sona erdiğinde, bir şifre olmadan mysql giriş yapabilirim, yani olmamalıdır mysql -uroot.

#!/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."

Çok tehlikeli olurdum! Neye ihtiyacın var?
Pascal Fares

6
Sanal makineler hazırlarken, bir şey için. Gerçekten endişeleniyorsanız, rasgele kriptografik olarak güvenli bir şifre oluşturmak ve betiğinizin az trafik olduğu bir zamanda size şifreyi söylemesi için bir cron işi oluşturmasını ve sistemin bu konuda yayınlanmasını sağladığınızdan emin olabilirsiniz. saati. Sadece kaybolmadan önce verdiğiniz 5 saniye boyunca bilgisayara baktığınızdan emin olun.
trysis

OP, "Bir şifre debconf-set-selectionssorulmaya devam ediyorum" diyor ama onun örnek kodunda, bundan kaçınacak olan 2 satır var, çünkü reddedildi, çünkü soru ve örnek kodun iki farklı noktada ve şu anda iki noktada düzenlendiğine inanıyorum. soru artık anlamlı değil.
mastazi

Yanıtlar:


46

Aşağıdaki komutlar strangehat, mysql-serverpaketi kurduğunuzda MySQL root şifresini ayarlar .

echo "mysql-server mysql-server/root_password password strangehat" | sudo debconf-set-selections
echo "mysql-server mysql-server/root_password_again password strangehat" | sudo debconf-set-selections

Bunun şifrenizin açık bir kopyasını oluşturduğunu unutmayın /var/cache/debconf/passwords.dat(normalde yalnızca root tarafından okunabilir ve parola paketin başarıyla yüklenmesinden sonra paket yönetim sistemi tarafından silinir mysql-server).

Dockerfile'da kullanıyorsanız tırnak kullandığınızdan emin olun.

Şimdi yükleyebilirsiniz mysql-serverve şifre istemi görünmüyor:

sudo apt-get install mysql-server

11
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password password my_password'
sudo debconf-set-selections <<< 'mysql-server mysql-server/root_password_again password my_password'
sudo apt-get -y install mysql-server

bu herhangi bir müdahale olmadan mysql kuracak


7

Bu, size sormamasını sağlamak için işe yarayabilir:

export DEBIAN_FRONTEND=noninteractive

Senaryoya gelince, şifreyi tırnak işaretleri arasına koymayı denerdim:

mysql_pass="mymysqlpass"

1

Şifreyi tırnak işaretleri arasına koymak istiyorsanız, bu bölümün tekrarlanması gerekiyor : 'mysql-server-5.1 mysql-server / root_password parolası' $ mysql_pass ''

Kime:

"mysql-server-5.1 mysql-server/root_password password '$mysql_pass'"

Bu benim için çalıştı (boş kök şifre):

sudo debconf-set-selections <<< "mysql-server-5.5 mysql-server/root_password password ''"
sudo debconf-set-selections <<< "mysql-server-5.5 mysql-server/root_password_again password ''"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password password ''"
sudo debconf-set-selections <<< "mysql-server mysql-server/root_password_again password ''"
export DEBIAN_FRONTEND=noninteractive
sudo -E apt-get install -y -q mysql-server libmysqlclient-dev
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.