MYSQL의 root사용자와 일반사용자의 패스워드 재설정하기 DB자라/MySQL2009. 11. 11. 15:31
### MYSQL의 root사용자와 일반사용자의 패스워드 재설정하기
MYSQL의 mysqladmin유틸리티를 이용하면 MYSQL의 root계정의 패스워드뿐아니라 일반사용자의 패스워드까지도 변경할 수 있다. MYSQL 사용자 계정의 패스워드를 변경하는 가장 보편적이고 일반적인 방법은 MYSQL에 접속하여 update문을 이용하는 것이다. 하지만 서버관리자의 입장에서는 MYSQL에 접속하지 않고, 리눅스 쉘상태에서 간단히 변경하는 방법이 필요한 것이다.
즉, MYSQL의 mysqladmin유틸리티를 이용하여 MYSQL사용자의 패스워드를 변경하는 사용형식은 다음과 같다.
사용형식 : mysqladmin -u 계정명 -p password 변경할패스워드
1) MYSQL설치 직후에 MYSQL root 패스워드 설정하기
MYSQL계정의 패스워드를 변경하는 첫번째 예로서 설치 직후의 MYSQL root패스워드를 설정하는 방법을 보겠다. 즉, MYSQL을 설치한 직후에도 MYSQL의 root패스워드가 존재하지 않는다. 이때 mysqladmin유틸리티를 이용하여 간단히 MYSQL의 root패스워드를 설정할 수 있다. 즉, 다음은 MYSQL을 설치한 직후에 MYSQL의 root패스워드를 설정하는 예이다. 이경우 MYSQL의 root패스워드가 존재하지 않기 때문에 -p옵션을 사용하면 않된다.
[root@file bin]# pwd [root@file bin]# |
위의 결과로 MYSQL root패스워드는 12345로 설정되었다. 이후부터 MYSQL의 root로 접속하려면 반드시 -p옵션을 사용해야 하고 방금 설정한 패스워드를 입력해야 한다.
2) 기존에 사용하던 MYSQL root 패스워드를 다른 것으로 변경하기
이번에는 이미 설정되어 있는 MYSQL root패스워드를 다른 것으로 변경하는 방법이다. 이때에는 이미 MYSQL의 root계정에 패스워드가 설정되어 있으므로 -p옵션을 사용해야 한다. 그리고 패스워드를 변경하려면 사용중이던 패스워드를 "Enter password:"란에 입력해줘야 새로운 패스워드로 변경이 된다.
아래의 예는 MYSQL root계정의 새로운 패스워드를 12345로 설정한 예이다. 말한바와 같이 "Enter password:"에는 이미 사용중이던 기존의 패스워드를 입력해야만 12345라른 새로운 패스워드로 변경이 된다.
[root@file bin]# pwd [root@file bin]# |
3) MYSQL의 일반사용자 패스워드 변경하기
이번에는 mysqladmin을 이용하여 MYSQL의 일반사용자 패스워드를 변경하는 방법을 알아보겠다. 사용하는 방법은 앞의 방법과 동일하다. 아래의 예를 papa라는 MYSQL 사용자가 자기자신의 MYSQL 접속 패스워드를 변경하기 위하여 mysqladmin을 이용한 예이다.
[root@file bin]# ./mysqladmin -u papa -p password 1111 Eneter password:******** [root@file bin]# |
한가지 주의할 것은 mysqladmin이라는 유틸리티의 자체 실행퍼미션이 리눅스 일반계정사용자에게도 있어야 한다는 것이다.
4) MYSQL 데이터베이스로 접속하여 update문을 사용하여 변경하기
MYSQL에서 MYSQL root나 일반사용자의 패스워드를 변경하는 다른 방법을 소개해 보겠다. 먼저 MYSQL에 접속을 한 다음 update라는 SQL문을 이용한 예이다. 즉, update문을 이용하여 MYSQL의 관리데이터베이스인 mysql데이터베이스의 user라는 테이블에 있는 root 사용자 패스워드를 변경한 것이다.
[root@inter-devel bin]# ./mysql -u root -p mysql Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysql> update user set password=password('12345') where user='root' Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0 mysql> |
5) MYSQL의 set password 명령어로 root 패스워드 변경하기
MYSQL의 "set password" 명령어를 이용한 것이다. 즉, 다음은 MYSQL에 root로 접속하여 "set password"라는 명령어를 이용하여 변경한 예이다.
[root@inter-devel bin]# ./mysql -u root -p mysql Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> mysql> set password for root=password('12345') Query OK, 2 rows affected (0.00 sec) mysql> |
이렇게 패스워드를 수정한 후에는 "flush privileges" 또는 "mysqladmin -u root -p reload"를 실행하여 수정된 패스워드가 MYSQL 권한 테이블에 적용되도록 한다.
mysql> FLUSH PRIVILEGES; |
#####################################################################
"리눅스포털 - 슈퍼유저코리아" 사이트를 참고로 다시 작성했습니다.
#####################################################################