4

Я хочу войти в базу данных MySQL из оболочки.

Обычно я использую

mysql -p 

Но я только заметил следующее в справке MySQL:

-p, --password[=name] 
                      Password to use when connecting to server. If password is
                      not given it's asked from the tty. WARNING: This is
                      insecure as the password is visible for anyone through
                      /proc for a short time.

Это говорит о том, что следующее небезопасно?

mysql -p=mypassword

Или все случаи использования -p небезопасны?

1 ответ1

6

Только это небезопасно:

mysql -p=mypassword

потому что таким образом это может быть видно, когда ps используется для просмотра аргументов командной строки. Короче говоря, всегда используйте опцию -p , а когда требуется автоматизация, используйте "файл опций"

Обратитесь к http://dev.mysql.com/doc/refman/5.0/en/password-security-user.html для получения дополнительной информации:

Это удобно, но небезопасно, поскольку ваш пароль становится видимым для программ состояния системы, таких как ps, которые могут вызываться другими пользователями для отображения командных строк. Клиенты MySQL обычно перезаписывают аргумент пароля командной строки нулями во время своей последовательности инициализации. Однако все еще существует короткий интервал, в течение которого значение является видимым. Кроме того, в некоторых системах эта стратегия перезаписи неэффективна, и пароль остается видимым для PS. (Системы SystemV Unix и, возможно, другие подвержены этой проблеме.)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .