Saya mencoba menginstal MySQL di Ubuntu Natty tanpa kata sandi. Namun, saya terus dimintai kata sandi pada tahap tertentu setelah instalasi utama.
Juga, ketika saya memasukkan apa yang saya yakini sebagai kata sandi saya (mymysqlpass), itu memberi saya pemberitahuan ditolak akses. Kemudian ketika skrip berakhir, saya bisa login ke mysql tanpa kata sandi yaitu mysql -uroot, yang seharusnya tidak terjadi.
#!/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
sumber
sumber
debconf-set-selections
yang akan menghindari itu, diturunkan karena saya percaya pertanyaan dan kode sampel diedit pada dua titik waktu dan sekarang pertanyaan tidak masuk akal lagi.Jawaban:
Perintah-perintah berikut mengatur kata sandi root MySQL
strangehat
ketika Anda menginstalmysql-server
paket.Perhatikan bahwa ini akan membuat salinan kata sandi Anda di teks bagian
/var/cache/debconf/passwords.dat
(yang biasanya hanya dapat dibaca oleh root dan kata sandi akan dihapus oleh sistem manajemen paket setelah instalasi yang berhasil darimysql-server
paket).Pastikan untuk menggunakan kutipan jika menggunakannya di Dockerfile.
Sekarang Anda dapat menginstal
mysql-server
dan prompt kata sandi tidak muncul:sumber
ini akan menginstal mysql tanpa intervensi apa pun
sumber
Ini mungkin berhasil untuk membuatnya tidak meminta Anda:
Adapun skrip, saya akan mencoba memasukkan kata sandi dalam tanda kutip:
sumber
Bagian ini perlu diulang ulang jika Anda ingin memasukkan kata sandi di antara tanda kutip: 'mysql-server-5.1 mysql-server / root_password kata sandi' $ mysql_pass ''
Untuk:
Ini berfungsi untuk saya (kata sandi root kosong):
sumber