디비 암호를 까먹었을 경우 유용한 팁
(출처: 네이버 지식인 참조)
mysql이 처음 시스템에 설치되면...
기본적인 시스템 DB과 test DB를 설치하는 스크립트가
수행됩니다.
이걸... POST INSTALLATION 작업이라고 MYSQL Documentation에 보면
나와있을 겁니다... 물론 mysql RPM이 설치되면서 자동으로 실행되는
스크립트죠.
/usr/bin/mysql_install_db
바로 요 놈입니다...
요거 쉡 스크립트거든요...
열어서 주욱 내려보시면... 165번째 줄 정도부터...(저는 mysql 4.x 버젼이라서
약간 틀릴 수도 있습니다) 기본 설치하셨으면 mysql 3.2.x 버젼일겁니다...
# Create database directories mysql & test
if test "$in_rpm" -eq 0 || "$windows" -eq 0
요런 내용과 함께 주석에 씌인대로... mysql과 test 테이블을 만듭니다...
기본 설치되면 /var/lib/mysql 디렉토리 및에 데이타가 저장되므로...
/var/lib/mysql/mysql 디렉토리의 내용을 요리조리 살펴보며
없으면 mysql DB도 초기화시켜준다는 말씀입니다...
설명은 대충 마치고...
그럼 실제 수행할 명령들을 차례로 써보겠습니다...
======================================================
1. 루트로 로그인
2. /usr/bin/mysql_install_db
======================================================
아마 이상태가 되면... 최소한 mysql DB는 만들어진 상태일 것입니다.
혹시 mysql 로그인이 안되면요...
3. cd /etc/init.d
4. ./mysql stop
5. /usr/bin/safe_mysqld --skip-grant-tables &
요렇게 하면 말 그대로 권한검사를 하지않는 상태의 mysql서버가 구동됩니다
6. mysql -u root mysql
mysql> update user set password=password('음하하') where user='root';
mysql> flush privileges;
mysql> exit
원하시는 root 암호가 음하하 라면... 위의 UPDATE문을 실행시키세요.
7. cd /etc/init.d
8. ./mysql stop
9. ./mysql start
=======================================================
이 정도면 원래대로 복구되어 문제가 없을 겁니다