세이박스

MySQL root 비번을 잊어버려서 접속을 못할 경우 패스워드 초기화 방법

데이타베이스

MySQL 설치하면서 비번을 잘못 입력(오타)하거나 기존 root 개정을 잊어 버린경우 다시 설치 하지 않고 비번만 변경할수 있습니다.
기존 MySQL 프로세스 종료하고 안전모드로 접속한후에 개정 테이블(user)에서 root 패스워드를 변경하는 방법입니다.

# MySQL 프로세스 죽이기
/etc/init.d/mysqld stop
killall mysqld

# MySQL 안전모드 접속후 root 비번 변경
cd /usr/local/mysql/bin
./mysqld_safe --skip-grant &
use mysql;
update user set password=password('비밀번호') where user='root';
FLUSH PRIVILEGES;
exit;

# 접속확인
mysql -uroot -p mysql

비번 입력후 mysql> 접속이 잘되면 성공입니다.


 ▶ 최신영화, 최신 미국드라마 무료 다운로드..

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

데이타베이스

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

MYSQL root 패스워드 바꾸기

데이타베이스
mysql> update user
-> set password = password('testpass')
-> where user = 'root'
-> \g
Query OK, 2 row affected (0.00 sec)
mysql>

MYSQL root 패스워드를 잊어버렸을때

데이타베이스
1. root 패스워드 잊어버렸을때..

mysql 중지한다.

/etc/init.d/mysql stop
데몬을 아무나 들어갈수 있게 다시 실행한다.

safe_mysqld --skip-grant &

루트 패스워드를 변경한다.
mysql> update user set password='' where user='root';

mysql 을 재시동 합니다.
/etc/init.d/mysql stop
/etc/init.d/mysql start