레이블이 password 분실인 게시물을 표시합니다. 모든 게시물 표시
레이블이 password 분실인 게시물을 표시합니다. 모든 게시물 표시

2012-10-06

[DBMS/MySQL]root_패스워드_잊어_버린_경우_새로_설정하는_방법


mysql을 오랫동안 사용하지 않았을 경우에 간혹 root패스워드가 기억나질않아서 당황할 때가 있습니다.
특히, 여러대의 시스템을 관리할 경우에는 시스템의 root패스워드와 일반계정 및 MySQL의 root계정과 일반계정등 기억해야할 암호가 수십개씩 되는 경우가 흔히 있습니다.
필자의 경우에도 관리하는 서버가 많은 편에 속하기 때문에 패스워드를 전혀 바꾸지 않을 수는 없고 해서 변경한 후에는 메모하여 잘 보지 못하는 곳에 블랙박스로 보관합니다.
시스템의 root암호를 잊어 버린 경우도 있었으며, MySQL의 root사용자의 암호를 잊어 버린 경험도 많이 있었습니다.
경험있는 시스템관리자라면 시스템의 root나 MySQL의 root의 암호를 잊어 버렸을 때를 대비해서 패스워드를 새로 설정하는 방법을 반드시 숙지하고 있어야 할 것입니다.





 

1. 실행중인 msyql 종료

[root@kebia_1 bin]# ps -ef | grep mysqld
root956710 Mar16 ?00:00:00 sh ./safe_mysqld
root957695670 Mar16 ?00:00:00 /usr/local/mysql/libexec/mysqld
root957895760 Mar16 ?00:00:00 /usr/local/mysql/libexec/mysqld
root957995780 Mar16 ?00:00:00 /usr/local/mysql/libexec/mysqld
[root@kebia_1 bin]#
[root@kebia_1 bin]# killall mysqld
[root@kebia_1 bin]#


 

2. grant-table 미사용모드로 mysql시작

[root@kebia_1 bin]# ./safe_mysqld --skip-grant-tables&
[1] 12084
[root@kebia_1 bin]# Starting mysqld daemon with databases from /usr/local/mysql/data

[root@kebia_1 bin]#
[root@kebia_1 bin]# ./mysql -u root mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Welcome to the MySQL monitor.Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 3.22.24

Type 'help' for help.

mysql>


 

3. update문으로 root사용자 패스워드 변경


mysql> update user set password=password('12345') where user = 'root';
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3Changed: 3Warnings: 0

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

mysql> exit
Bye


 

4. 실행중인 mysql 다시 종료

[root@kebia_1 bin]# ps -ef | grep mysqld
root12084 115580 20:10 pts/200:00:00 sh ./safe_mysqld --skip-grant-ta
root12090 120840 20:10 pts/200:00:00 /usr/local/mysql/libexec/mysqld
root12092 120900 20:10 pts/200:00:00 /usr/local/mysql/libexec/mysqld
root12093 120920 20:10 pts/200:00:00 /usr/local/mysql/libexec/mysqld
[root@kebia_1 bin]#
[root@kebia_1 bin]# killall mysqld
mysqld daemon ended
[1]+Done./safe_mysqld --skip-grant-tables
[root@kebia_1 bin]#


 

5. 일반모드로 Mysql 재시작

[root@kebia_1 bin]# ./safe_mysqld&
[1] 12102
[root@kebia_1 bin]# Starting mysqld daemon with databases from /usr/local/mysql/data

[root@kebia_1 bin]#
[root@kebia_1 bin]# ps -ef | grep mysql
root12102 115580 20:13 pts/200:00:00 sh ./safe_mysqld
root12108 121020 20:13 pts/200:00:00 /usr/local/mysql/libexec/mysqld
root12110 121080 20:13 pts/200:00:00 /usr/local/mysql/libexec/mysqld
root12111 121100 20:13 pts/200:00:00 /usr/local/mysql/libexec/mysqld
[root@kebia_1 bin]#

2012-09-14

Linux] root password 분실시 방법

Linux root password 분실시 방법



부트 메니져의 종류에 따라.


1.LILO 일 경우...

리눅스 부팅시.. Ctrl+X
1) 'LILO boot:' 라고 나타날때 'linux single'라고 입력하여 단일 사용자 모드로 부팅
합니다.

2) '/etc/' 디렉토리의 'passwd'파일을 편집해 주면 됩니다.
#vi /etc/passwd
...
root:R#tr443VEW43^@bd:0:0:root/root:/bin/bash
...

위와 같이 되어 있는 부분의 두번째':'콜론 사이에 있는 것이 암호이므로
아래와 같이 삭제하여 저장 하시면 됩니다.

root::0:0:root/root:/bin/bash

3) 'shadow' 라는 패스워드 방식을 사용할경우에는 '/etc/shadow'라는 파일을 편집해
주면 됩니다.
#vi /etc/shadow
root:$2$tbRTB$43enb5546nRRNNS46B5REB^%&N:10788:0:99999:7:-1:-1:134538844

위의 것을 아래처럼 변경해 저장합니다.
root::10788:0:99999:7:-1:-1:134538844

4)이렇게 편집한후 재부팅후 패스워드 없이 root로 로그인 할수 있습니다..

로그인 후 'passwd'명령으로 패스워드를 재지정 하면 됩니다...


※싱글모드에서.. 'passwd'명령어로. 설정 하셔도 됩니다...ㅋㅋㅋ^^


2. Grub 일경우....

1) grub(부트로더)의 멀티 부팅 선택 화면에서 Linux 에 커서를 옮긴 후 E 키를 누르면

root (hd0,1)
kernel /boot/vmlinuz-2.2.17-3mz root=/dev/hda2 vga=769

위의 두라인이 나타나는데 Kernel로 시작되는 라인에 커서를 옮긴후 다시 E 키를 누르면
grub edit> Kernel /boot/vmlinuz-2.2.17-3mz root=/dev/had2 vga=769 라인 끝에 커서가
깜빡이며, 입력모드로 바뀝니다.

라인끝의 vga=769 에서 한칸 띄우고, single 을 입력후

(예) kernel /boot/vmlinuz-2.2.17-3mz root=/dev/hda2 vga=769 single

엔터 키를 누르면 그 이전 화면으로 돌아가는데 그 상태에서 B 키를 누르면 싱글로 부팅이
됩니다.

2) 비밀번호 변경

싱글로 부팅 후 passwd 를 치면 새로운 패스워드를 입력하라고 하는데 사용할 새로운
패스워드를 입력후 다시 한번 확인 입력을 한 후 사용하면 됩니다.

(예)$ passwd
New UNIX password: (사용할 새로운 패스워드 입력)
Retype new UNIX password: ( 사용할 새로운 패스워드를 다시한번 입력)

3) 비밀번호를 변경했지만 로긴이 계속 안될 경우.

비밀번호를 정확히 변경했는데도 로긴이 안될 경우는
vi /etc/passwd 을 열어 root:x:0:0:root:/root:/bin/bash 의 root 다음의 첫번째 : :
사이의 x 부분을 삭제후 저장하세여.

만약, shadow 파일이 있다면
vi /etc/shadow 부분을 열어 위와 같은 방법으로 해주시고 저장을 하면 됩니다