[mysql] 명령 줄을 사용하여 mysql 사용자 비밀번호 변경

명령 줄을 사용하여 데이터베이스 사용자의 암호를 업데이트하려고하는데 작동하지 않습니다. 이것은 내가 사용하는 코드입니다.

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

누군가이 코드의 문제점을 말해 줄 수 있습니까?



답변

코드에서 작은 따옴표 안에 암호를 넣어보십시오. 또는 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)

Mine은 버전 5입니다. 다음 명령을 사용하여 버전을 확인할 수 있습니다.

SHOW VARIABLES LIKE "%version%";


답변

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이제 암호를 할당하는 데 선호되는 명령문입니다.


답변

참고 : 루트 사용자로 로그인해야합니다.

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


답변

이것은 WAMP v3.0.6에 대한 업데이트 된 답변입니다.

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

FLUSH PRIVILEGES;


답변

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';"


답변

Windows 10에서는 현재 로그인을 종료하고 명령 줄에서 실행하십시오.

-> mysqladmin -u root password “newpassword”

루트 대신 모든 사용자가 될 수 있습니다.


답변

이것은 나를 위해 작동합니다. MYSQL 웹 페이지 에서 솔루션을 얻었습니다.

MySQL에서 아래 쿼리를 실행하십시오.

FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'New_Password';