MySQL 루트 비밀번호를 제거하는 방법


195

localhost에서 사용자 루트의 비밀번호를 제거하고 싶습니다. 어떻게해야합니까? 실수로 루트 사용자의 비밀번호를 설정했습니다. phpmyadmin에서 오류가 발생하는 이유는 다음과 같습니다.

#1045 - Access denied for user 'root'@'localhost' (using password: NO)


4
루트 암호를 대신 사용하도록 phpMyAdmin을 구성하지 않는 이유는 무엇입니까?
sisve

2
MySQL 설명서에는 루트 암호 를 잊어 버린 경우 재설정하는 방법대한 지침이 포함되어 있습니다 .
Michael Madsen 2016 년

MySQL 5.7부터는 임의의 루트 암호가 기본적으로 설정되어 있으며 validate_password플러그인을 먼저 비활성화하지 않으면 암호를 제거 할 수 없습니다 . 내 기사를 참조하십시오 MySQL 루트 암호 제거 또는 이 요점을 직접 .
Benjamin

답변:


360

암호를 root@localhost비워 두어야합니다. 두 가지 방법이 있습니다.

  1. MySQL SET PASSWORD명령 :

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. 명령 줄 사용 mysqladmin 도구 사용 :

    mysqladmin -u root -pType_in_your_current_password_here password ''

1
Perticular 데이터베이스의 비밀번호를 어떻게 재설정 할 수 있습니까?
넥타

4
mysqladmin -u root -pcurrent_password password ''는 다른 방법입니다.
crackity_jones

7
그런 mysqladmin -u root -p password ''다음 비밀번호를 입력해야했습니다.
crizCraig

2
@crizCraig 아마도 암호가 아니기 때문에 CURRENTPASSWORD암호 인수 (다른 인수와 달리) 뒤에 공백이 없습니다. 비밀번호를 생략하면 비밀번호를 입력하라는 메시지가 표시됩니다 ( doc )
Jason Sperske

3
@mOna이 방법을 시도하십시오 : 1- mysql을 끄십시오 (서비스 종료 또는 종료); 2- ; SET PASSWORD FOR root@localhost=PASSWORD('');라는 파일을 만듭니다 restore. 3- 전화 mysqld_safe --init-file=path/to/restore; 마지막으로 로그인하고 원하는 비밀번호를 다시 변경하십시오.
Dario

23

나는 또한이 문제를 겪었습니다.

먼저 명령을 사용하여 root의 비밀번호를 공백으로 설정하려고했습니다.

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

그러나 PHPMYADMIN은 localhost가 아닌 127.0.0.1을 사용합니다. 두 가지가 동일하지만 그렇지 않다는 것을 알고 있습니다. 아래에 언급 된 명령을 사용하면 완료됩니다.

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

localhost를 127.0.0.1로 바꾸면됩니다.


3
root @ localhost = 암호 ( '')에 대한 암호 설정; 나를 위해 일했다
workdreamer
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.