Я смотрел на пользователей в моей таблице 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 ';
ПРИВИЛЕГИИ ПРОМЫВКИ;
Три причины, почему это выгоднее: