명령 줄을 사용하여 데이터베이스 사용자의 암호를 업데이트하려고하는데 작동하지 않습니다. 이것은 내가 사용하는 코드입니다.
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';