컴퓨터이야기/Mysql2009. 6. 24. 13:59

Mysql Root 사용자 비밀번호 분실시 조치

Mysql Root 비밀번호 잊어버렸을때 조치


Mysql를 사용하다보면 가끔 Root 사용자 비밀번호를 잊어버릴 때가 있다..
이럴때 조치사항을 알아보자

① MYSQL의 데이터 디렉토리/(호스트명).pid 파일에 kill을 보내 Mysql 서버를 죽인다.

    $ kill 'cat /usr/local/mysql/var/호스트명.pid'

② Mysql을 --skip-grant-table 옵션으로 기동한다.
    --skip-grant-table 옵션은 Mysql을권한테이블을 무시하고 기동할때 사용하는 옵션이다.

    $ /usr/local/mysql/bin/mysqld_safe --skip-grant-table &  

③ Mysql에 비밀번호없이 root 사용자로 접속한다.

    $ mysql/ --user=root mysql 

④ Mysql에 접속이 되면 root 사용자의 비밀번호를 변경한다.

    mysql> update user SET password=PASSWORD('새비밀번호') WHERE user='root'; 

④ 완료되었다는 말이 나오면 FLUSH PRIVILEGES명령으로 변경된 내용이 바로 반영되게 한다.

    mysql> FLUSH PRIVILEGES; 

⑤끝!!ㅋ
Posted by iloje
컴퓨터이야기/Linux2009. 2. 12. 16:01

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' 오류

Ubuntu dapper에서 mysql 5.0을 설치했는데 실행을 하면 이런 에러가 뜨는경우가 있었다.

# mysql -uroot
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)

그런데 루트권한으로 실행하면 잘 되었다...
#sudo mysql -uroot

찾아본 결과
퍼미션문제인 걸로 판명...

해결방법은 3가지..

1.일반 유저에서 ls -al /var/run/mysqld/mysqld.sock 확인

2.퍼미션을 조정하는 것이 여의치가 않으면, /etc/my.cnf 에
   [mysqld]
   socket=/tmp/mysql.sock

   [client]
   socket=/tmp/mysql.sock
   을 넣고 서버와 클라이언트가 /tmp에 만들어지는 mysql.sock 파일을 사용하게 하는 방법으로 돌아갈 수 있다.


3.mysql이 설치된 폴더의 권한을 바꾼다.
   mysql이라는 유저를 생성해서..
   chown mysql /path/mysql




[출처] : http://kldp.org/node/64774

Posted by iloje