Computer Science/DB

[MySQL/Mac] root 비밀번호 초기화하기

TwinParadox 2024. 2. 12. 13:46
728x90

개인 컴퓨터에서 개발을 하다보면 DB를 로컬 환경에 설치하게 되는데, 그때마다 root 비밀번호가 나를 곤란하게 한다.

비밀번호를 설정 안하고 싶지만, 그래도 형식상으로 설정을 하다보면 늘 비밀번호를 까먹게 된다.

root 비밀번호를 초기화하는 방법에 대해 알아보자.

 

  • MySQL 8
  • Mac에서 homebrew로 설치

 

위 환경을 전제로 썼지만, Mac OS + MySQL이라면 명령어는 거의 비슷할 것이다.

(MySQL 버전에 따라 다를 순 있다.)

 

1. 서버 종료 후, mysqld_safe로 인증 없이 실행하도록 서버 실행

아래 명령어가 제대로 동작하지 않거나, 명령어가 없다고 뜨는 경우 환경변수를 체크해보도록 하자.

mysql.server stop
mysqld_safe --skip-grant-tables &

 

2. root 비밀번호 제거

UPDATE user SET authentication_string=null WHERE user='root';
FLUSH privileges;

 

3. 서버 일반모드로 재시작

3번 이후부터는 root에 비밀번호를 설정해줄 사람들에게만 해당하는 내용이다.

root에 비밀번호를 지정해주지 않을 사람이라면 재시작만 하고 사용해도 된다.

mysql.server stop
mysql.server start
mysql -u root

 

4. root 비밀번호 설정

쿼리에 입력하는 비밀번호는 반드시 평문이어야 한다.

caching_sha2_password로 암호화를 해주기 때문에 암호화해서 넣어줄 필요가 없다.

ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '새 비밀번호(평문)';

# 확인하기
use mysql;
SELECT authentication_string FROM user WHERE user='root';

root 비밀번호 확인

 

5. root 사용하기

mysql -u root -p 새비밀번호

 

 

 

Reference

https://gist.github.com/zubaer-ahammed/c81c9a0e37adc1cb9a6cdc61c4190f52

https://stackoverflow.com/questions/6474775/setting-the-mysql-root-user-password-on-os-x

 

728x90