DIVERSITY IS GOOD
DIVERSITY IS GOOD

테크/MySQL

[MySQL] root 비밀번호 잊어버렸을 때 초기화 방법

diversity is good 2025. 2. 25. 16:07
반응형

우선 서비스에 들어가서 현재 가동되어 있는 mysql의 이름을 확인해야 합니다.

mysql로 되어 있을 수도 있고 저처럼 mysql80으로 되어 있을 수도 있습니다.

서비스에서 중단할 수도 있습니다.

하지만 시작하려면 프롬프트에서 해야 해서 프롬프트에서 진행하였습니다

1. net stop mysql

이 명령어는 MySQL 서비스를 중지합니다. MySQL을 중지하는 이유는 초기화 작업이나 설정 변경을 위해 안전하게 MySQL 인스턴스를 종료해야 하기 때문입니다.


2. mysqld --initialize --console

이 명령어는 MySQL 데이터 디렉터리를 초기화합니다. 초기화 작업은 다음의 경우에 필요할 수 있습니다:

  • 새로운 MySQL 서버를 설치했을 때
  • 데이터베이스를 완전히 재설치하거나 복구할 때
  • root 계정의 암호를 재설정해야 할 때

이 명령어는 MySQL 데이터 디렉터리에 기본 시스템 테이블을 생성하고, 보통은 root 계정에 대한 임시 비밀번호를 생성하여 콘솔에 출력합니다.


3. net start mysql

MySQL 서비스를 다시 시작합니다. 초기화가 완료된 후에 MySQL 서버를 다시 실행하여 클라이언트가 접속할 수 있게 만듭니다.

 

4. mysqld --skip-grant-tables --console --shared-memory

 

  • --skip-grant-tables: 사용자 인증을 건너뜁니다. 이를 통해 MySQL에 로그인할 때 사용자 이름과 비밀번호를 검증하지 않게 됩니다.
    • 주로 루트 비밀번호를 분실했을 때나, 사용자 권한 테이블에 문제가 생겼을 때 사용됩니다.
  • --console: MySQL 서버의 로그를 콘솔에 출력하여 실시간으로 로그를 확인할 수 있습니다.
  • --shared-memory: MySQL 서버가 공유 메모리를 통해 클라이언트와 통신하도록 설정합니다. 주로 Windows 환경에서 사용됩니다.

 

 

 

 

이제 새로운 cmd 창을 관리자 권한으로 열어서 mysql -u root로 접속해줍니다.

 

5. use mysql

데이터 베이스를 선택해줍니다.

6. UPDATE USER SET AUTHENTICATION_STRING=NULL WHERE USER='새로운 비밀번호' ; 

authentication_string을 NULL로 설정하면, 이후에 새로운 비밀번호를 설정할 수 있습니다. '새로운 비밀번호'에 설정하고자 하는 비밀번호를 넣어서 입력해줍니다.

다시 모든 창을 꺼주고 cmd를 관리자 권한으로 열어준 뒤 mysql -u root -p를 해주면 비밀번호를 입력하라고 나옵니다.

재설정한 비밀번호를 입력하면 접속이 됩니다.

 

반응형

'테크 > MySQL' 카테고리의 다른 글

MySQL 비트 연산(Bitwise Operations) 완벽 가이드  (0) 2025.01.31
기본 SQL 문법 튜토리얼  (0) 2025.01.25