Có cách nào để chuyển mật khẩu người dùng DB vào công cụ dòng lệnh mysqladmin không?


102

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

3
Đặt MYSQL_PWD trong môi trường ( 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.
David Tonhofer

Câu trả lời:


190

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


14
dấu ngoặc kép được phép quá nếu mật khẩu chứa dấu cách, như trong:-p'YOURPASSWORD HERE'
Vigintas Labakojis

40
Wow ... trực quan thực sự ... Khoảng cách giữa -h localhost-u rootnhư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.
Kolob Canyon

4
@KolobCanyon bạn có thể bỏ qua không gian giữa -u và rễ, -uroothoạt động tốt
Peter Ajtai

11
Cảnh báo: đây được coi không an toàn: dev.mysql.com/doc/mysql-security-excerpt/5.7/en/...
neverendingqs

3
@KolobCanyon: Điều gì sẽ xảy ra nếu mật khẩu của bạn bắt đầu bằng dấu cách? ;) Các lập trình viên không thể quyết định nếu không gian tách các tùy chọn và giá trị của nó hoặc là ký tự đầu tiên của mật khẩu ...
Stéphane

43

Thử:

--password=PasswordTextHere 

Hữu ích khi bạn cần chuyển mật khẩu "trống" (tất nhiên cho mục đích thử nghiệm).
Ivo Pereira

điều này cũng seemt o là lựa chọn duy nhất để thông qua một mật khẩu trống trong dòng lệnh (trên một trường hợp sandbox ví dụ)
penCsharpener

10

Đ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

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.