공부/DB

MYSQL ROOT 비밀번호 분실시 대처방안

JangGiraffe 2022. 9. 28. 22:01

안녕하세요, 장지랩입니다.

 

네이버클라우드 플랫폼으로 클라우드 우분투 서버를 만들어서 웹서비스를 운영하려고 준비중인데 갑자기 디비 접속이 되지 않아 커넥션 오류가 발생했습니다(비밀번호가 틀렸다고..)

 

비밀번호를 바꾼적도 없고 해서.. 해킹당했나.. 오류인가 별별 생각을 다 했는데 어쨋건 이 오류를 해결하기 위해 폭풍 검색을 해서 해결했습니다.

 

해결방법 요약
1. DB가 설치된 서버에 접속
2. mysql 비밀번호 입력 안해도 되는 모드로 변경
3. root로 접속
4. root비밀번호 업데이트
5. mysql 재기동

 

요약은 다음과 같고 구체적인 해결 방법은 아래와 같습니다.

1.DB가 설치된 서버에 접속

2. mysql 비밀번호 입력 안해도 되는 모드로 변경(안전모드)

sudo service mysql stop

mysqld_safe --skip-grant-tables &

 

저는 여기서 막혔는데요, 만약 위 시도 중 오류가 발생하면 다음과 같이 해주시면됩니다.

sudo mkdir /var/run/mysqld 
sudo chown mysql:mysql /var/run/mysqld

무슨 이유에서인지mysql stop시 /var/run/경로에 mysqld 폴더가 사라지더군요. 그래서 폴더를 생성해주고 안전모드로 진입하면 잘 될겁니다.

 

3. root 접속

mysql -u root mysql

4. 비번업데이트

아래 쿼리에서 '신규비번'부분만 자신의 패스워드로 수정해주신 후 쿼리를 실행시키면 됩니다.

UPDATE 
	mysql.user 
SET 
	authentication_string=PASSWORD('신규비번'), plugin='mysql_native_password' 
WHERE 
	User='root' AND Host='%';

exit;

 

5. mysql 재시작

sudo service mysql start

 

이상입니다.

그럼 모두 행복한 개발 하시길 바랍니다.

반응형