it-swarm.xyz

Изменить пароль пользователя mysql с помощью командной строки

Я пытаюсь обновить пароль для пользователя базы данных с помощью командной строки, и он не работает для меня. Это код, который я использую:

mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';

Может кто-нибудь сказать мне, что не так с этим кодом.

63
user3310572

В своем коде попробуйте заключить пароль в одинарную кавычку. Кроме того, согласно документации MySQL, должно работать следующее - 

SET PASSWORD FOR 'jeffrey'@'localhost' = PASSWORD('cleartext password');

FLUSH PRIVILEGES;

Последняя строка важна, иначе смена пароля, к сожалению, не вступит в силу.

Правка:

Я провел тест в моем регионе, и это сработало - 

mysql>  set password for 'test' = PASSWORD('$w0rdf1sh');
Query OK, 0 rows affected (0.00 sec)

Моя версия 5. Вы можете использовать следующую команду, чтобы определить свою версию - 

SHOW VARIABLES LIKE "%version%";
92
hellboy

Начиная с MySQL 5.7.6, используйте ALTER USER

Пример:

ALTER USER 'username' IDENTIFIED BY 'password';

Так как:

  • Синтаксис SET PASSWORD ... = PASSWORD('auth_string') устарел с MySQL 5.7.6 и будет удален в будущем выпуске MySQL.

  • Синтаксис SET PASSWORD ... = 'auth_string' не считается устаревшим, но ALTER USER теперь является предпочтительным оператором для назначения паролей.

28
Govind Rai

Примечание: вы должны войти в систему как пользователь root 

 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('your password');
13
vijay kumar

это обновленный ответ для WAMP v3.0.6

UPDATE mysql.user 
SET authentication_string=PASSWORD('MyNewPass') 
WHERE user='root';

FLUSH PRIVILEGES;
4
Robert Anthony S. Tribiana

До MySQL 5.7.6 это работает из командной строки:

mysql -e "SET PASSWORD FOR 'root'@'localhost' = PASSWORD('$w0rdf1sh');"

У меня нет установки mysql для тестирования, но я думаю, что в вашем случае это будет

mysql -e "UPDATE mysql.user SET Password=PASSWORD('$w0rdf1sh') WHERE User='tate256';"
3
David Silva Smith

В Windows 10 просто выйдите из текущего логина и запустите его в командной строке

-> mysqladmin -u root password “newpassword”

где вместо root может быть любой пользователь.

0
Napolean