명령 줄을 사용하여 데이터베이스 사용자의 암호를 업데이트하려고하는데 작동하지 않습니다. 이것은 내가 사용하는 코드입니다.
mysql> UPDATE user SET password=PASSWORD($w0rdf1sh) WHERE user='tate256';
누군가이 코드의 문제점을 말해 줄 수 있습니까?
명령 줄을 사용하여 데이터베이스 사용자의 암호를 업데이트하려고하는데 작동하지 않습니다. 이것은 내가 사용하는 코드입니다.
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%";
5.7.18-0ubuntu0.16.04.1
ALTER USER
예:
ALTER USER 'username' IDENTIFIED BY 'password';
때문에:
SET PASSWORD ... = PASSWORD('auth_string')
구문은 MySQL 5.7.6에서 더 이상 사용되지 않으며 향후 MySQL 릴리스에서 제거됩니다.
SET PASSWORD ... = 'auth_string'
구문은 더 이상 사용되지 않지만 ALTER USER
이제 암호를 할당하는 데 선호되는 명령문입니다.
ALTER USER ... IDENTIFIED BY ...
정확히 무엇입니까? 방법에서 그 차이가 UPDATE ... SET ...
나는 INSERT INTO ...
?
ALTER USER ... IDENTIFIED BY ...
데이터베이스에 대한 사용자 권한을 구성하는 SQL 문입니다. UPDATE
그리고 INSERT
, 제안 업데이트 기록과 기록을 삽입하여 데이터베이스의 테이블에 이름이 같은 다른 기능을 가지고있다.
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'USER 'root' IDENTIFIED BY
이것은 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';"
이것은 나를 위해 작동합니다. MYSQL 웹 페이지 에서 솔루션을 얻었습니다.
MySQL에서 아래 쿼리를 실행하십시오.
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'New_Password';
로그인 루트는이어야합니다 /usr/local/directadmin/conf/mysql.conf
. 그런 다음 다음을 시도하십시오
UPDATE mysql.user SET password=PASSWORD('$w0rdf1sh') WHERE user='tate256' AND Host='10.10.2.30';
FLUSH PRIVILEGES;
호스트는 mysql 호스트입니다.