본문 바로가기
데이타베이스

MySQL의 root패스워드를 잊어버렸을 때 복구하기

by 세이박스 2008. 10. 10.
반응형

mysqld_safe 으로 MySQL을 시작할 때에 --skip-grant-table 옵션을 사용하요 MySQL의 사용자인증과정을 생략하여 실행한 후에 MySQL의 root계정으로 패스워드 없이 접속하여 원하는 패스워드로 변경하는 방법이다. 즉, MySQL의 root 계정 패스워드를 잊어버렸을 경우의 복구절차는 아래와 같다.

1. 실행중인 MySQL을 종료한다.
 # killall mysqld

2. "./mysqld_safe --skip-grant-table &" 로 사용자 인증과정 없이 MySQL를 실행한다.
 # ./mysqld_safe --skip-grant-table &

3. 패스워드 없이 MySQL root 계정으로 MySQL에 접속한다.
 # ./mysql -u root mysql

4. update문으로 MySQL 데이터베이스의 user 테이블에 있는 MySQL root사용자의 패스워드를 변경한다.
 mysql> update user set password=password('1111') where user = 'root';

5. "flush privileges" 명령어로 변경된 MySQL 권한테이블(db, user 테이블들)들에 변경된 권한설정들을 적용한다.
 mysql> flush privileges;

6. MySQL을 빠져나와서 실행했던 MySQL을 종료한다.
 mysql> exit
 # killall mysqld

7. 일반적인 방법으로 MySQL을 실행한다.
 
# ./mysqld_safe &

8. 정상적인 방법으로 패스워드를 사용하여 MySQL의 root계정으로 접속하여 확인한다.
 
# ./mysql -u root -p mysql

반응형