Untuk menggunakan file yang ada di mana saja di dalam OS, gunakan --defaults-extra-filemisalnya:
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > [desiredoutput].sql
Catatan: .sqlpwdhanya nama file contoh. Anda dapat menggunakan apa pun yang Anda inginkan.
Catatan: MySQL akan secara otomatis memeriksa ~/.my.cnfmana yang dapat digunakan--defaults-extra-file
Jika Anda menggunakan CRON seperti saya, coba ini!
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > "$(date '+%F').sql"
Izin yang Diperlukan dan Kepemilikan yang Disarankan
sudo chmod 600 /path/.sqlpwd && sudo chown $USER:nogroup /path/.sqlpwd
.sqlpwd isi:
[mysqldump]
user=username
password=password
Contoh lain untuk masuk .cnfatau.sqlpwd
[mysql]
user=username
password=password
[mysqldiff]
user=username
password=password
[client]
user=username
password=password
Jika Anda ingin masuk ke database secara otomatis, Anda perlu [mysql]entri misalnya.
Anda sekarang dapat membuat alias yang secara otomatis menghubungkan Anda ke DB
alias whateveryouwant="mysql --defaults-extra-file=/path/.sqlpwd [database]"
Anda juga hanya bisa memasukkan kata sandi di dalam .sqlpwddan meneruskan nama pengguna melalui skrip / cli. Saya tidak yakin apakah ini akan meningkatkan keamanan atau tidak, itu akan menjadi pertanyaan yang berbeda secara bersamaan.
Demi kelengkapan saya akan menyatakan Anda dapat melakukan hal berikut, tetapi sangat tidak aman dan tidak boleh digunakan dalam lingkungan produksi:
mysqldump -u [user_name] -p[password] [database] > [desiredoutput].sql
Catatan: TIDAK ADA RUANG antara -p dan kata sandi.
Misalnya -pPassWordbenar sementara -p Passwordsalah.