1. mysql root 패스워드를 변경해보자(리눅스)

 

<우선 mysql start 하기>

mysql설치루트/bin>./mysqld_safe &

 

<mysql 접속하기>

mysql설치루트/bin>./mysql -u root mysql

 

<password 변경하기>

mysql> use mysql;

 

mysql> update user set password=password('new-passwd') where user = ('root');

 

mysql> flush privileges;

(참고 : update문을 사용하여 암호가 바뀌었을땐 flush privileges를 이용하여 사용자 관련 테이블에 알려야 함)

 

마지막으로 서버 재실행

 

 

2. 패스워드 분실시

 

패스워드 분실시 빠르게 root 패스워드를 변경 해보자

 

우선 mysql를 stop 한 환경에서 작업을 해야 한다.

 

<권한 테이블을 사용하지 않겠다고 선언하면서 서버 start>

mysql설치루트/bin> ./mysqld_safe --skip-grant-tables &

 

<mysql 데이터베이스로 바로 접속>

mysql설치루트/bin>./mysql -u root mysql

 

<update문으로 패스워드 변경>

mysql>update user set password=password('new-passwd') where user = 'root';

 

<mysql 접속 종료>

mysql>quit

 

<mysql stop하기>

mysql설치루트/bin>./mysqladmin -u root -p shutdown

 

<mysql 재시작>

mysql설치루트/bin>./mysqld_safe &

 

<mysql 접속하기>

mysql설치루트/bin>./mysql -u root -p

password:

 

mysql>


출처 -  http://blog.naver.com/qsef2?Redirect=Log&logNo=20037906806 


오늘은 MySQL의 비밀번호를 분실 했을 시 패스워드를 강제로 변경하는 법에 대해서 포스팅 하려고 한다.

현재 local의 root 계정이 재부팅시에 계속 변경되는데 이 문제점을 해결할 수 있는 방법을 찾지 못하여
DBMS를 사용할 때 마다  계정의 비밀번호를 변경하는 일시적인 방법으로 사용하고 있다.

이 때 root 계정의 비밀번호를 변경하는 방법을 사용하는데 사용시마다 명령어 확인을 위해 검색을 이용하게 되는데
그 방법에 대해서 자세히 알아보자.

1. mysqld.exe 데몬 종료
 
윈도우를 사용하는 유저라면 한번쯤은 ctr + alt + del 키를 눌러봤을 법하다. 거기서 프로세스 탭을 클릭하고 mysqld.exe 프로세스를 강제 종료한다.

 
2. cmd에서 mysqld.exe 재시작

mysqld.exe를 종료했다면 그 다음은 cmd를 실행하여 mysql이 설치된 경로로 접근한다. 그 후 mysql\bin폴더로 접근하여
폴더에 있는 mysqld.exe를 실행하게 되는데 이 때 명령어를 살펴보자.


mysqld.exe --skip-grant
   

 

3. mysql.exe 실행 
이렇게 실행하면 cmd 창이 멈춘듯한 결과가 나타나는데 정상적으로 작동하는 것이니 실행한 창을 놔두고 새로운 cmd창을 실행한다. 그 후 새로운 cmd 창에 아래 명령문을 입력한다. 

mysql.exe 

 

이렇게 하면 아이디와 비밀번호 없이도 mysql을 실행할 수 있다.
여기서 사용할 데이터 베이스를 선택하는 쿼리를 실행한다. 이는 아래와 같다.

use mysql;

 


그 후 쿼리문을 통해 비밀번호를 강제 수정하게 되는데 이 명령문은 아래와 같다.
 
UPDATE user SET password=password('변경할 비밀번호') WHERE user = '변경할 계정 이름'; 
 
ex>update user set password=password('1') where user='root';



이런식으로 쿼리문을 작성하여 실행 한다. 간단히 쿼리문을 보자면 user 테이블의 password 컬럼을 수정하는데 이 때 유저 컬럼의 데이터가 root 인것을 수정한다는 것이다. 너무 간단한 쿼리여서 설명하기도 민망하다.
여기서 끝이 아니다.
권한을 바로 적용하기 위해서 한가지 명령문을 더 쓰는데 이는 아래와 같다.

flush privileges;

 


이렇게 하면 password가 변경되고 mysql -u root -p1 이라는 cmd 창에서의 실행으로 정상적인 접근이 가능하다. 

출처 -  http://hiphop9n.tistory.com/29 



Posted by linuxism
,