본문 바로가기
OS/mySQL

mysql password 초기화(mysql 기본 디비가 안보이는 경우)

by 빵기 2011. 6. 9.


root 비밀번호 변경하다가 mysql 이상해졌다
이런... database mysql 이 없어진거다.... ㅠㅠ
이래 저래 찾다가 발견 ㅎㅎ

rpm으로 db를 깔았다 지웠다가 하다가 보뉘 어느순간 mysql(default db)가 안보이는 것이 아닌가..ㅡ.ㅡ

이것은 root로 접속은 했지만 mysql을 컨트롤 할 수 있는 권한이 없이 접속을 했기때문이다.. 결국 패스워드를 까먹은 거나 마찬가지 인셈...

 

1>암호 초기화
# killall mysqld (데몬을 죽입니다) or service mysqld stop(yum으로 설치된경우)

# cd /usr/local/mysql (mysql이 깔린 곳으로 갑니다)  (yum으로 설치 된 경우 안가도 됩니다.)

# ./bin/safe_mysqld --skip-grant &  <--실행중인 상태 

or mysqld_safe --skip-grant &(yum으로 설치 된 경우)

여기까지가 초기화이면서 프로세스가 돌고 있는 상태입니다.


2>새 암호 넣기  (새로 터미널을 열고 mysql을 실행한다...)
# ./bin/mysql (sql 실행)   mysql이 yum으로 설치 된 경우 classpath가 잡혀 있기 때문에 그냥 mysql치면됨.

mysql>use mysql  (mysql db를 사용)

mysql>update user set password=password('새암호') where user='root';
(root 암호 변경합니다. '새암호' 자리에 새암호를 넣으세요
예>update user set password=password('1234') where user='root';

mysql> FLUSH PRIVILEGES

mysql> show databases;   <---이 명령치면 기본적으로 3개의 db가 보여야 된다. (mysql포함)
mysql> exit

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

댓글