Để sử dụng tệp ở bất kỳ đâu trong HĐH, hãy sử dụng, --defaults-extra-file
vd:
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > [desiredoutput].sql
Lưu ý: .sqlpwd
chỉ là một tên tệp ví dụ. Bạn có thể sử dụng bất cứ điều gì bạn muốn.
Lưu ý: MySQL sẽ tự động kiểm tra ~/.my.cnf
cái nào có thể được sử dụng thay vì--defaults-extra-file
Nếu bạn sử dụng CRON như tôi, hãy thử điều này!
mysqldump --defaults-extra-file=/path/.sqlpwd [database] > "$(date '+%F').sql"
Giấy phép cần thiết và quyền sở hữu được đề xuất
sudo chmod 600 /path/.sqlpwd && sudo chown $USER:nogroup /path/.sqlpwd
.sqlpwd
nội dung:
[mysqldump]
user=username
password=password
Các ví dụ khác để vượt qua .cnf
hoặc.sqlpwd
[mysql]
user=username
password=password
[mysqldiff]
user=username
password=password
[client]
user=username
password=password
Nếu bạn muốn đăng nhập vào cơ sở dữ liệu tự động, bạn sẽ cần [mysql]
mục nhập chẳng hạn.
Bây giờ bạn có thể tạo một bí danh tự động kết nối bạn với DB
alias whateveryouwant="mysql --defaults-extra-file=/path/.sqlpwd [database]"
Bạn cũng chỉ có thể đặt mật khẩu bên trong .sqlpwd
và chuyển tên người dùng thông qua tập lệnh / cli. Tôi không chắc liệu điều này có cải thiện bảo mật hay không, đó sẽ là một câu hỏi hoàn toàn khác.
Để hoàn thiện, tôi sẽ nói bạn có thể làm như sau, nhưng cực kỳ không an toàn và không bao giờ nên được sử dụng trong môi trường sản xuất:
mysqldump -u [user_name] -p[password] [database] > [desiredoutput].sql
Lưu ý: KHÔNG CÓ KHÔNG GIAN giữa -p và mật khẩu.
Ví dụ -pPassWord
là đúng trong khi -p Password
không chính xác.