Basic/Database

[Database] MySQL 비밀번호 분실 해결방안

코딩공대 2023. 4. 22. 17:05
728x90

MySQL 비밀번호를 까먹었다....
해결방안을 블로깅 해보려고 한다.
참고로 저는 Mac을 사용중 입니다.

1. MySQL root 비밀번호 초기화 하기

     1. 서버 중지


          ▶️ mysql.server stop

 

 

     2. 서버 재시작

 

          ▶️ mysql.server start --skip-grant-tables

 

 

     3. root 계정에 접근 후 비밀번호 변경

 

          ▶️ mysql -u root
          ▶️ update mysql.user set authentication_string=null where user='root';

 

MySQL 버전 830 부터는 alter user을 이용하여 비밀번호를 변경해야 하는데, 사용한 --skip-grant-tables 옵션으로는 alter user문이 실행이 안되기 때문에 임시로 일단 비밀번호를 null로 바꾸어준다.

 

그리고 flush privileges를 통해 변경된 권한을 설정해준다.

 

 

     4. MySQL 재시작 후 비밀번호 변경

 

          ▶️ mysql.server restart;

 

 

          ▶️ mysql -u root;

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

                 : 비밀번호는 대/소문자, 특수문자, 숫자 등의 조건이 충족되어야 한다.

 

          ▶️ flush privileges; 

                 : 변경된 사항을 저장한다.

 

 

 

     5. 잘 변경되었는지 확인

 

          ▶️ mysql -u root -p

 

잘 바뀌었다👏

2. MySQL 완전 삭제 후 다시  설치하는 방법

     1. homebrew로 설치했을 때

 

          ▶️ brew services stop mysql

 

     2. homebrew로 삭제하기

          

          ▶️ brew uninstall --force mysql

 

          혹은,

          ▶️ brew uninstall mysql --ignore-dependencies

          ▶️ brew remove mysql

          ▶️ brew cleanup

 

     3. 관련파일 삭제하기

 

          ▶️ sudo rm -rf /usr/local/mysql

          ▶️ sudo rm -rf /usr/local/bin/mysql

          ▶️ sudo rm -rf /usr/local/var/mysql

          ▶️ sudo rm -rf /usr/local/Cellar/mysql

          ▶️ sudo rm -rf /usr/local/mysql*

          ▶️ sudo rm -rf /tmp/mysql.sock.lock

          ▶️ sudo rm -rf /tmp/mysqlx.sock.lock

          ▶️ sudo rm -rf /tmp/mysql.sock

          ▶️ sudo rm -rf /tmp/mysqlx.sock

          ▶️ sudo rm ~/Library/LaunchAgents/homebrew.mxcl.mysql.plist

          ▶️ sudo rm -rf /Library/StartupItems/MySQLCOM

          ▶️ sudo rm -rf /Library/PreferencePanes/My*

 

위의 코드를 한줄씩 입력하여 삭제 후 재부팅한다.

 

     4. homebrew로 재설치하기

 

          ▶️ brew install mysql

 

     5. mysql 서비스 시작하기

 

          ▶️ brew service start mysql

 

     6. 비밀번호 없이 root 로그인

 

          ▶️ mysql -uroot

 

     7. root 비밀번호 설정하기

 

          ▶️ mysql_secure_installation

 

※ VALIDATE PASSWORD PLUGIN 설피여부 물어볼 때 N(아니오)를 선택하기.


MySQL비밀번호를 까먹어서 비밀번호 찾는 방법을 봤는데 까먹지 않기위해 포스팅 합니다.

세세한 코드까진 기억을 못해도 다음에 또 까먹으면 제 블로그 보고 찾아보려고요!


참고 : https://github.com/rangyu/TIL/blob/master/mysql/MySQL-완전-삭제하고-재설치하기-(MacOS).md  
참고 : https://velog.io/@sorzzzzy/MySQL-Mac-MySQL-root-비밀번호-초기화하기

 

GitHub - rangyu/TIL: 오늘 내가 배운 것 (Today I Learned)

오늘 내가 배운 것 (Today I Learned). Contribute to rangyu/TIL development by creating an account on GitHub.

github.com

 

 

 

 

 

 

 

 

 

 

 

 

'Basic > Database' 카테고리의 다른 글

[Database]MySQL 데이터 이관(Export, Import)  (0) 2023.11.04
[SQL] PostgreSQL VS MySQL  (0) 2023.05.23
[MySQL] Intelli J와 MySQL연동하기  (0) 2023.05.03
[데이터베이스]SQL  (0) 2022.11.30