Чи є спосіб передати пароль користувача БД в інструмент командного рядка mysqladmin?


102

В даний час я використовую наступне, але ВСЕ ТАКОЖ пропонує мені ввести пароль вручну. Чи є спосіб передати його в командному рядку під час запуску виконуваного файлу?

mysqladmin processlist -u root -p

4
Встановіть MYSQL_PWD у середовищі ( export MYSQL_PWD=muhpassword) та виконайте свою команду без значка -p. Див . Змінні середовища MySQL Program . Незважаючи на жорстокі попередження посібника , це досить безпечно . Якщо ви не почнете дивний warez в тій же оболонці, яка може наблизити ваше оточення, і надіслати його на darkaspirator.cc.
Девід Тонхофер

Відповіді:


190

Щойно з’ясував відповідь….

mysqladmin processlist -u root -pYOURPASSWORDHERE

Немає місця між вашим паролем і -p


14
цитати також дозволені, якщо пароль містить пробіли, як у:-p'YOURPASSWORD HERE'
Vigintas Labakojis

40
Нічого собі ... реальне інтуїтивне ... Простір між -h localhostі , -u rootале не -pPASSWORD. Класичні програмісти, які роблять все складніше, ніж потрібно.
Калонь Колоб

4
@KolobCanyon ви можете опустити простір між -u та root, -urootпрацює чудово
Peter Ajtai

11
Увага: це вважається небезпечним: dev.mysql.com/doc/mysql-security-excerpt/5.7/en / ...
neverendingqs

3
@KolobCanyon: Що робити, якщо ваш пароль починається з пробілу? ;) Програміст не може визначитися, чи пробіл розділяє опцію та її значення, або це перший символ пароля…
Stéphane

43

Спробуйте:

--password=PasswordTextHere 

Корисно, коли вам потрібно ввести "порожній" пароль (звичайно, для тестування).
Іво Перейра

це також здається єдиним варіантом для передачі порожнього пароля в командному рядку (наприклад, у випадку з пісочницею)
penCsharpener

10

Це має працювати: mysql -uroot -p'password'

Якщо ви намагаєтеся автоматизувати рішення mysql, ви можете використовувати пароль із змінної:

mysql_pass=$(sudo grep -oP "temporary password is generated for root@localhost: \K(.*)" /var/log/mysqld.log)

mysql -uroot -p"$mysql_pass" < somescript.sql

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.