Saya menulis skrip shell sederhana untuk membuang database mysql tertentu. Masalahnya adalah meminta saya untuk kata sandi meskipun saya memberikan pada. Db mysql adalah versi 5.0.27 jika itu penting. Inilah garis spesifik yang saya gunakan.
$MYSQLDUMP -u backup -p$MyPass $DB > $DEST/$FILE
Saya mencoba beberapa variasi, tetapi tidak berhasil.
Solusi yang lebih baik adalah dengan menyimpan nama pengguna dan kata sandi dalam file konfigurasi dan arahkan ke file konfigurasi tersebut. Dengan memilikinya di baris perintah, siapa pun yang dapat menjalankan ps dapat menemukan kata sandi untuk server Anda.
Pass
--defaults-extra-file=/pathto/database.cnf
ke dump mysql.File konfigurasi perlu terlihat seperti ini. Atur izin sistem file sehingga hanya proses pencadangan yang dapat membuka file konfigurasi.
Pembaruan (2016-06-29) Jika Anda menjalankan mysql 5.6.6 atau lebih tinggi, Anda harus melihat alat mysql_config_editor yang memungkinkan Anda untuk menyimpan kredensial dalam file terenkripsi. Terima kasih kepada Giovanni karena menyebutkan ini padaku.
sumber
aoeu1234
saya, file konfigurasi saya memilikipassword = 'aoeu1234'
; jika tidak, Anda akan mendapatkan kesalahan yang tidak sah.