MySQL root 패스워드 분실했을때Mysql / DataBase

2010/10/18 14:22

복사http://blog.naver.com/choiye84/130095730006

1> 암호 초기화
# /etc/init.d/mysqld stop

또는

# killall mysqld (데몬을 죽입니다)

# cd /usr/local/mysql (mysql이 깔린 곳으로 갑니다)
# ./bin/safe_mysqld --skip-grant &
여기까지가 초기화

2> 새 암호 넣기
# /etc/init.d/mysqld start

또는

# ./bin/mysql (sql 실행)
mysql>use mysql
mysql>update user set password=password('새암호') where user='root';
(root 암호 변경합니다. '새암호' 자리에 새암호를 넣으세요
예>update user set password=password('1234') where user='root';
mysql> FLUSH PRIVILEGES
mysql> exit

# ./bin/mysql -uroot -p1234 으로 들어와지면 성공입니다.

MySQL 관리자 즉 root 의 비밀번호를 분실하였거나, 다른 관리자가 변경해 놓고 휴가를 가 버리고.. 연락이 안될때.. 등의 경우.

[해결과정]
1. MySQL 데몬을 중지한다.
2. 패스워드가 있는 테이블을 무시하고(건너뛰고) 데몬을 띄운다
3. 루트로 로그인해서 루트의 비밀번호를 다시 설정한다.
4. 권한을 다시 로드한다. (이후 로그아웃).
5. 정상적으로 데문을 다시 실행한다.

[내용]
++++++ MySQL 데몬중지
++++++ 패스워드가 있는 테이블을 무시하고(건너뛰고) 데몬을 띄운다
# mysqld_safe --skip-grant-tables

++++++ 루트로 로그인해서 루트의 비밀번호를 다시 설정한다.
# mysql --user=root mysql
mysql> update user set Password=PASSWORD('new-password') where user='root';
mysql> flush privileges;
mysql> exit;
++++++ MySQL 데몬중지 & 시작

* 복사용 정리
# /etc/init.d/mysqld stop // 설정상황에 따라 다름
# mysqld_safe --skip-grant-tables // 경로확인 할 것
# mysql --user=root mysql
update user set Password=PASSWORD('암호') where user='root';
flush privileges;
exit;

# /etc/init.d/mysqld stop // 설정상황에 따라 다름
# /etc/init.d/mysqld start // 설정상황에 따라 다름
or
# /etc/init.d/mysql restart

++++++++++++++++++++
1.MySQL 데몬 실행 중지

# /etc/rc.d/mysqld stop
(또는 # killall -9 mysqld )

2.인증제외한 MySQL 데몬 실행

# mysqld_safe --skip-grant &

3. 비번없이 접속후 mysql DB의 user 테이블에서 root 패스워드 변경

# mysql -u root mysql
mysql> update user set password=password('new password') where user='root';
mysql> flush privileges;
mysql> quit
# _

4. 정상적인 MySQL 데몬 실행

# /etc/rc.d/mysqld restart
or
# /etc/rc.d/mysqld stop
# /etc/rc.d/mysqld start (또는 # safe_mysqld --user=mysql &)

X. 한글로 보이도록

# mysqld_safe --user=mysql --language=korean &

Posted by 토끼구이 달팽이맛나