2015-08-12 2 views
0

У меня есть три пользователя в MySQL, а именно root, testuser1, testuser2. Я хочу, чтобы зашифровать пароли для всех трех пользователей при подключении к базе данных MySQL, введя следующую команду в терминале,Как изменить/зашифровать пароль root в MySQL?

  1. MySQL -u -p корень
  2. MySQL -u -p testuser1
  3. MySQL - u testuser2 -p

Он запрашивает пароль. На этом этапе, как я могу предоставить зашифрованный пароль или сделать его прочитанным из любого файла, который может содержать его?

В моем проекте есть требование шифровать все пароли для пользователей MySQL. (Я также задал этот вопрос in connection with MariaDB too).

ответ

2

Вы не можете передать зашифрованный пароль в командной строке клиента mysql и ожидать, что mysql «поймет» его. В лучшем случае вы можете использовать зашифрованный сеанс SSH для сеанса командной строки mysql.

Вы можете хранить зашифрованные пароли в файле или базе данных, а затем расшифровывать их для подключения.

Но в какой-то момент пароль должен быть передан в mySql открытым текстом. Вы должны решить, а именно:?

1) как вы собираетесь войти в систему (из командной строки с помощью программы или веб-сервер

2) Как точно зафиксировать сохраненный пароль (включая, но не ограничиваясь этим, шифрование) до и во время входа в систему.

НЕКОТОРЫХ ВАРИАНТОВ:

MySql также поддерживает "Enterprise Logon" сценарии. Возможно, один из них может предложить решение вашей проблемы:

Наконец, если вы используете MySQL от сервера приложений (например, WebSphere), то вместо ручного входа в систему с клиентом командной строки «mysql» вы можете просто создать DataSource и позволить серверу приложений защитить имя пользователя и пароль для вас.

+0

В дополнение к ответу, когда вы подключаетесь к серверу mysql удаленно, вы делаете это обычно через защищенную сеть и канал, например SSH, VPN-соединение и т. Д., Поэтому передача данных между клиентом сервером будет зашифрована, включая пользователя и информация о пароле. Я никогда не сделаю это из-за неуверенного соединения или канала. –

+0

@maytham - это именно то, что я пытался сказать в первом абзаце. Спасибо за разъяснение ... и мы в полном согласии :) – paulsm4

+0

круто, это правда, у меня есть красный, чтобы поститься, голос отсюда. –

Смежные вопросы