[MySQL] 비밀번호 재 설정하기

이상해씨·2023년 9월 27일
0

SQL

목록 보기
14/22

MYSQL 비밀번호를 재설정

  • MySQL 비밀번호를 잊어버려 재설정을 해야 한다 😭
  • 방법을 검색해 보니 기존 MySQL 서버를 종료하고 다시 인증없이 MySQL 서버를 실행하고 비밀번호를 초기화한 후, 비밀번호 재설정을 해야 했다.
  • 조금 성가신 과정이라 까먹을 까봐 포스팅을 해본다

해결방법

1) MySQL 서버 중지하기

  • 하단 바에서 오른쪽 마우스 버튼 클릭 > 작업관리자

  • 작업관리자에서 Mysql 종료
    오른쪽 마우스 버튼 > 종료

2) cmd에서 인증 절차 없이 MySQL 서버 시작하기

2-1) 관리자권한으로 cmd 접속

  • cmd 검색 > 관리자 권한으로 실행

2-2) mysqld.exe 파일 주소 확인

  • mysqld.exe 위치로 이동
  • 보통 C:\Program Files\MySQL\MySQL Server 8.0\bin에 위치
  • where mysqld.exe 를 cmd에서 입력하여 위치를 쉽게 찾을 수 있다고 함.

2-3) cmd에서 mysqld.exe 위치로 이동

  • 명령어
cd <주소>
  • 예시
cd C:\Program Files\MySQL\MySQL Server 8.0\bin

2-4) 인증 절차 없이 MySQL 서버 시작

  • 아래 명령어 실행
mysqld.exe --skip-grant-tables --console --shared-memory
  • 옵션 설명

    	--skip-grant-tables:MySQL 서버가 시작될 때 인증(권한 부여) 절차를 건너뛰도록 함.
    
    	--console: MySQL 서버의 출력을 표준 출력(콘솔)으로 보내도록 설정
    
    	--shared-memory:  Windows 운영 체제에서 MySQL 서버와 클라이언트 간의 통신을 위한 공유 메모리(Shared Memory) 프로토콜을 사용하도록 설정. MySQL 서버와 클라이언트 간의 통신 방식 중 하나로 사용.
  • can't file test error 발생시, 포스팅 참고
  • 성공시, 아래와 같이 화면에 출력됨.

3) 새로운 cmd 창에서 root 비밀번호 초기화하기

  • 위 cmd 창에서는 서버가 작동되고 있음으로 닫지 않고, 새로운 cmd창을 실행하여 비밀번호를 초기화한다.

3-1) 새로운 cmd 창 실행

  • 관리자 권한으로 실행

3-2) cmd에서 mysqld.exe 위치로 이동

  • 명령어
cd <주소>

3-3) root로 mysql 접속

  • 명령어
mysql -u root
  • 성공적으로 접속한 모습

3-4) 비밀번호 NULL로 초기화

  • root의 비밀번호를 NULL로 변경
UPDATE user SET authentication_string=null WHERE User='root';

select authentication_string from user;

flush privileges;
  • 변경 성공한 모습

3-5) mysql 종료

  • 명령어 입력하여 mysql 종료
exit

4) cmd 창에서 root 비밀번호 초기화하기

  • 위 2)에서 실행한 cmd는 닫지 않고 유지하며, 새로운 cmd창을 사용한다.

4-1) cmd에서 mysql 접속

mysql -u root -p

  • 에러 발생시 포스팅 참고.
    ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO)

4-2) 비밀번호 변경

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '< 비밀번호>';

4-3) 변경 확인

아래명령어 입력시 접속이 되면 성공적으로 변경됨.

mysql -u root -p

참고

profile
공부에는 끝이 없다

0개의 댓글