본문 바로가기

Programming/DB_MySQL

[mysql] 비밀번호 분실 했을때 초기화 (8.0버전)

mysql uroot -p

를 통해 접속하려는데 비밀번호가 틀리다고 접속이 안된다.

비밀번호를 재설정하자.

 

1. 작업관리자에서 mysql 혹은 mysqld를 종료

2. MySQL이 설치된 경로로 이동

관리자 권한으로 cmd를 실행한다.

 

where mysql

를 입력하면 mysql이 설치된 경로를 알아낼 수 있다.

이렇게 mysql이 저장된 경로를 받아온 뒤(전체 경로에서 mysql.exe를 빼야 한다.) cd [경로]를 입력하여 해당 경로로 이동한다.

 

3. 이동한 경로에서 mysqld.exe --skip-grant-tables --console --shared-memory를 입력

 

이 때 Can't create test file 에러가 발생했다.(일반적으로 발생하지 않는듯 하다.)

 

 

이런 에러가 발생할 경우 똑같은 경로에서 우선 아래 명령어를 수행한다.

 

mysqld --initialize --console

 

이제 다시 mysqld.exe --skip-grant-tables --console --shared-memory를 입력하면, 제대로 실행되는 것을 볼 수 있다.

 

4. 관리자 권한으로 cmd 새로운 창 실행 후 mysql -u root 입력

 

  관리자 권한으로 새로운 창을 실행한 후 mysql -u root 를 입력하면 아래와 같이 mysql에 정상 접속된다. 아래와 같이 순차적으로 비밀번호를 변경한다.

 

  1) NULL로 root 비밀번호 변경

  2) 다시 접속하여 진짜 비밀번호로 변경

 

그럼 접속된 mysql에서 순차적으로 명령어를 입력하자.

 

use mysql;

UPDATE user SET authentication_string=null WHERE User='root';

select authentication_string from user;

flush privileges;

 

세번째, 네번째 줄은 확인차 하는 명령이다. 성공적으로 실행됐다면 아래와 같은 그림을 보인다.

 

이제 종료 후 다시 접속하기 위해 아래 명령어를 입력한다.

 

exit

 

이제 종료됐으면 다시 접속하기 위해 아래 명령어를 입력한다.

 

mysql

 

접속이 됐으면 비밀번호를 바꾸자.

 

alter user 'root'@'localhost' identified with mysql_native_password by '변경할 비밀번호';

 

flush privileges;

728x90