Untuk menggunakan file yang ada di mana saja di dalam OS, gunakan --defaults-extra-file
misalnya:
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > [desiredoutput].sql
Catatan: .sqlpwd
hanya nama file contoh. Anda dapat menggunakan apa pun yang Anda inginkan.
Catatan: MySQL akan secara otomatis memeriksa ~/.my.cnf
mana 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 .cnf
atau.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 .sqlpwd
dan 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 -pPassWord
benar sementara -p Password
salah.