Назад | Перейти на главную страницу

Как изменить пароль для root@127.0.0.1 и root@example.com

Я смотрел на пользователей в моей таблице mysql.user и заметил, что есть 3 корня.

root@localhost
root@127.0.0.1
root@example.com

Когда я впервые обнаружил это, ни один из корней не был защищен паролем. Мне удалось защитить паролем root @ localhost, но я не могу понять, как защитить паролем два других. Как мне сделать это через командную строку?

Спасибо за любую помощь.

SQL-запрос:

update user set password=PASSWORD("NEWPASSWORD") where User='root' AND Host="127.0.0.1";
update user set password=PASSWORD("NEWPASSWORD") where User='root' AND Host="example.com";

У меня для вас три (3) меры предосторожности. Пожалуйста, помните следующее:

Меры предосторожности 1) Всегда запускайте FLUSH PRIVILEGES после обновления mysql.user. В противном случае изменения не вступят в силу до следующего перезапуска mysql.

Меры предосторожности 2) Если у вас включено двоичное ведение журнала, отключите двоичное ведение журнала в своем сеансе. В противном случае пароль mysql будет виден в двоичных журналах. Не волнуйтесь, двоичное ведение журнала включено для всех остальных подключений к БД.

УСТАНОВИТЬ sql_log_bin = 0;
обновить установленный пользователем пароль = PASSWORD ("NEWPASSWORD"), где User = 'root' AND Host = "127.0.0.1";
обновить пользовательский пароль = PASSWORD ("NEWPASSWORD"), где User = 'root' AND Host = "example.com ';
ПРИВИЛЕГИИ ПРОМЫВКИ;

Меры предосторожности 3) В версии mysql для Linux файл /root/.mysql_history записывает тип вашей сессии. Пароль также все еще виден. Отредактируйте свои изменения с помощью vi.

Чтобы не беспокоиться об отключении двоичного журнала, чтобы скрыть пароль, я обычно делаю вот что:

У меня на рабочем столе Windows работает mysql. Я запускал в MySQL для Windows следующее:

lwdba @ localhost (схема_информации БД) :: выберите пароль ('NEWPASSWORD');
+ ------------------------------------------- +
| пароль ('NEWPASSWORD') |
+ ------------------------------------------- +
| * B845F78DCA29B8AE945AB9CFFAC24A9D17EB5063 |
+ ------------------------------------------- +
1 ряд в наборе (0,00 сек)

Теперь запустите это в MySQL для Linux:

УСТАНОВИТЬ sql_log_bin = 0;
обновить установленный пользователем пароль = '* B845F78DCA29B8AE945AB9CFFAC24A9D17EB5063', где User = 'root' AND Host = "127.0.0.1";
обновить установленный пользователем пароль = '* B845F78DCA29B8AE945AB9CFFAC24A9D17EB5063', где User = 'root' AND Host = "example.com ';
ПРИВИЛЕГИИ ПРОМЫВКИ;

Три причины, почему это выгоднее:

  1. Это более безопасно. Пароль в виде открытого текста никогда не присутствует в Linux.
  2. Вы не отключили двоичное ведение журнала.
  3. Хотя это будет видно в двоичных журналах, кто может понять вывод, зашифрованный MD5 ???