Tôi hiện đang sử dụng cách sau nhưng nó LUÔN nhắc tôi nhập mật khẩu theo cách thủ công. Có cách nào để chuyển nó vào dòng lệnh khi khởi chạy tệp thực thi không?
mysqladmin processlist -u root -p
Tôi hiện đang sử dụng cách sau nhưng nó LUÔN nhắc tôi nhập mật khẩu theo cách thủ công. Có cách nào để chuyển nó vào dòng lệnh khi khởi chạy tệp thực thi không?
mysqladmin processlist -u root -p
Câu trả lời:
Chỉ cần tìm ra câu trả lời ...
mysqladmin processlist -u root -pYOURPASSWORDHERE
Không có khoảng trống giữa mật khẩu của bạn và -p
-p'YOURPASSWORD HERE'
-h localhost
và -u root
nhưng không -pPASSWORD
. Các lập trình viên cổ điển làm mọi thứ khó hơn mức cần thiết.
-uroot
hoạt động tốt
Thử:
--password=PasswordTextHere
Điều này sẽ hoạt động: mysql -uroot -p'password'
Nếu bạn đang cố gắng tự động hóa giải pháp mysql, bạn có thể sử dụng mật khẩu từ biến:
mysql_pass=$(sudo grep -oP "temporary password is generated for root@localhost: \K(.*)" /var/log/mysqld.log)
mysql -uroot -p"$mysql_pass" < somescript.sql
export MYSQL_PWD=muhpassword
) và thực hiện lệnh của bạn mà không có-p
. Xem Biến môi trường chương trình MySQL . Bất chấp những cảnh báo nghiêm trọng của sách hướng dẫn , điều này khá an toàn . Trừ khi bạn khởi động Warez kỳ lạ trong cùng một trình bao có thể làm hỏng môi trường của bạn và gửi nó đến darkaspirator.cc.