강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

MYSQL관리를 위한 mysqladmin 2편

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

기술문서 : MYSQL관리를 위한 mysqladmin <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><?xml:namespace prefix = st2 ns = "urn:schemas:contacts" />박성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

 

----------------                        --------------------------

 

1  : MYSQL 관리유틸리티 mysqladmin 대하여…

2  : 리눅스 쉘에서 mysqladmin으로 새로운 데이터베이스 생성하기

3  : 리눅스 쉘에서 mysqladmin으로 특정 데이터베이스 삭제하기

4  : 리눅스 쉘에서 mysqladmin으로 MYSQL root사용자와 일반사용자의 패스워드 재설정하기

5  : 리눅스 쉘에서 mysqladmin으로 MYSQL 데이터 동기화하기

6  : 리눅스 쉘에서 mysqladmin으로 MYSQL 서버 종료하기

7 : 리눅스 쉘에서 mysqladmin으로 MYSQL 접속한 클라이언트 리스트 확인하기

8 : mysqladmin으로 현재 접속되어 있는 MYSQL사용자(threads) 접속 끊기

9  : mysqladmin으로 MYSQL 간단한 실행정보 확인하기

10  : 리눅스 쉘에서 mysqladmin으로 MYSQL 현재 상황 자세히 살펴보기

11  : 리눅스 쉘에서 mysqladmin으로 MYSQL 환경변수를 확인하기

12  : mysqladmin으로 현재 MYSQL 정확한 버전과 여러가지 실행 정보확인하기

13  : mysqladmin으로 MYSQL 죽었는지 살았는지 확인하기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4 : 리눅스 쉘에서 mysqladmin으로 MYSQL root사용자와 일반사용자의 패스워드 재설정하기

 

MYSQL mysqladmin유틸리티를 이용하시면 MYSQL root계정의 패스워드뿐아니라 일반사용자의 패스워드까지도 변경할 수 있습니다.  MYSQL 사용자 계정의 패스워드를 변경하는 가장 보편적이고 일반적인 방법은 MYSQL에 접속하여 update문을 이용하는 것입니다.  하지만 서버관리자의 입장에서는 MYSQL에 접속하지 않고 리눅스 쉘상태에서 간단히 변경하는 방법이 필요할 것입니다. 이와 같이 MYSQL root뿐 아니라 일반사용자의 패스워드 변경요청에 편리하게 사용하실 수 있습니다.

 

, MYSQL mysqladmin유틸리티를 이용하여 MYSQL사용자의 패스워드를 변경하는 사용형식은 다음과 같습니다.

 

사용형식 : mysqladmin -u 계정명 -p password 변경할패스워드

 

 

첫번째 예 : MYSQL설치 직후에 MYSQL root패스워드설정하기

 

MYSQL계정의 패스워드를 변경하는 첫번째 예로서 설치 직후의 MYSQL root패스워드를 설정하는 방법을 보겠습니다. , MYSQL을 설치하신 직후에는 MYSQL root패스워드가 존재하지 않습니다. 이때 mysqladmin유틸리티를 이용하여 간단히 MYSQL root패스워드를 설정할 수 있습니다.

 

, 다음은 MYSQL을 설치한 직후에 MYSQL root패스워드를 설정하는 예입니다. 이 경우 MYSQL root패스워드가 존재하지 않기 때문에 -p옵션을 사용하시면 않됩니다.

 

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysqladmin -u root password 12345

Enter password: ********

[root@file bin]# 

 

위의 결과로 MYSQL root패스워드는 12345로 설정되었습니다.

 

 

두번째 예 : 기존에 사용하던 MYSQL root패스워드를 다른 것으로 변경하기

 

이번에는 이미 설정되어 있는 MYSQL root패스워드를 다른 것으로 변경하는 방법입니다. 이때에는 이미 MYSQL root계정에 패스워드가 설정되어 있으므로 -p옵션을 사용해야 합니다.  그리고 패스워드를 변경하려면 사용중이던 패스워드를 “Enter password : ”란에 입력해 주셔야만 새로운 패스워드로 변경이 됩니다.

 

아래의 예는 MYSQL root계정의 새로운 패스워드를 12345로 설정하는 예입니다.  말씀드린 바와 같이 “Enter password : ”에는 이미 사용중이던 기존의 패스워드를 입력해야만 12345라는 새로운 패스워드로 변경이 됩니다.

 

[root@file bin]# pwd
/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysqladmin -u root -p password 12345

Enter password: ********

[root@file bin]# 

 

잘 아시겠지만 위와 같이 변경이 된 후에 MYSQL root 12345라는 패스워드를 사용하셔야합니다. 

 

참고로 새로 변경된 패스워드를 이용하여 MYSQL로 접속한 예를 들었습니다. , 아래와 같이 MYSQL root로 접속할 때에는 새로 바뀐 12345라는 패스워드를 입력해야만 정상적인 접속이 됩니다.

[root@file bin]# ./mysql -u root -p mysql

Enter password: ********

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 10 to server version: 4.0.14

 

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

 

mysql>

mysql> exit

Bye

[root@file bin]#

 

이는 mysqladmin을 사용할 때에도 동일하게 바뀐 패스워드가 적용이 된다는 점도 기억하시기 바랍니다.

 

 

세번째 예 : MYSQL의 일반사용자 패스워드 변경하기

 

이번에는 mysqladmin을 이용하여 MYSQL의 일반사용자 패스워드를 변경하는 방법을 알아보겠습니다.  사용하는 방법은 앞의 방법과 동일합니다. 아래의 예는 papa라는 MYSQL 사용자가 자기자신의 MYSQL 접속 패스워드를 변경하기 위하여 mysqladmin을 이용한 예입니다.

 

[root@file bin]# ./mysqladmin -u papa -p password 1111

Enter password: ********

[root@file bin]#

 

한가지 주의하실 것은 mysqladmin이라는 유틸리티의 자체 실행퍼미션이 리눅스 일반계정사용자에게도 있어야한다는 점입니다.

 

 

참고로 MYSQL에서 MYSQL root나 일반사용자의 패스워드를 변경하는 다른 방법을 소개해 드리겠습니다. 

 

먼저 MYSQL에 접속을 한 다음 update라는 SQL문을 이용한 예입니다. , update문을 이용하여 MYSQL의 관리데이터베이스인 mysql데이터베이스의 user라는 테이블에 있는 root 사용자 패스워드를 변경한 것입니다.

 

[root@file bin]# ./mysql -u root -p mysql

Enter password: ********

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 5 to server version: 4.0.14

 

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>

 

 

그리고 다른 방법으로는 MYSQL“set password”명령어를 이용한 것입니다. , 다음은 MYSQL root로 접속하여 “set password”라는 명령어를 이용하여 변경한 예입니다.

 

[root@file bin]# ./mysql -u root -p mysql

Enter password: ********

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 6 to server version: 4.0.14

 

Type 'help;' or 'h' for help. Type 'c' to clear the buffer.

 

mysql>

mysql> set password for root=password('12345');

Query OK, 0 rows affected (0.00 sec)

 

mysql>

 

이상의 설명으로 MYSQL에서 root나 일반사용자의 패스워드를 변경하는 방법을 모두 설명드렸습니다. 잘 정리하여 유용하게 사용하시기 바랍니다.  필자의 역할은 무엇을 하기 위해서는 이런 방법들이 있다라는 것을 알려드리고 실제예를 보이는 것 까지이며 활용과 실무적용은 여러분들의 몫입니다.

 

 

 

5 : 리눅스 쉘에서 mysqladmin으로 MYSQL의 데이터 동기화하기

 

MYSQL의 관리명령어인 mysqladmin을 이용하시면 아직 적용되지 않은 변경된 데이터값들을 동기화 할 수 있습니다.  MYSQL의 모든 실제 데이터들은 각각의 데이터베이스 내에 존재하는 테이블(table)에 저장되므로 MYSQL의 테이블(table)을 재로딩(reload)함으로써 현재 MYSQL 캐쉬(cache)에 존재하는 변경되어야하는 데이터들이 실제로 변경되는 결과를 가져옵니다.

 

특히 리눅스를 호스팅 서버로 관리하는 서버관리자의 경우에 하루에도 몇 건씩 새로운 사용자의 MYSQL 사용설정을 하기 위하여 그 사용자의 데이터베이스 생성과 사용자생성, 패스워드설정등을 하는 경우가 있습니다. 이렇게 생성은 하였지만 실제로 접속을 해보면 접속이  않되는 경우가 종종 있습니다.  원인은 바로 여기에 있습니다. , 새로 생성된 데이터들이 실제로 해당 테이터베이스의 테이블에 저장이 되어 적용이 되어야하는데 이를 위하여 reload를 해주지 않았기 때문입니다. 

 

따라서 새로운 MYSQL의 사용자를 생성하고 이 사용자가 MYSQL을 바로 사용하도록 하려면 반드시 다음 예와 같이 MYSQL의 테이블 데이터 동기화를 해주시기 바랍니다.

 

사용형식 : mysqladmin -u root -p reload

 

위의 형식에서 reload 대신 flush-privileges를 사용할 수도 있습니다.

 

아래의 예는 현재 필자의 리눅스 시스템에서 MYSQL의 데이터 동기화를 위하여 mysqladmin유틸리티를 사용한 것입니다.

 

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ./mysqladmin -u root -p reload

Enter password: ********

[root@file bin]#

 

 

 

ㅇ 제작자 : 리눅스포털(www.superuser.co.kr) 수퍼유저코리아 박성수

 

ㅇ 본강좌의 자세한 정보 : http://www.superuser.co.kr/linuxcommandbible/

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,806 개
  • 현재 접속자 :  90 명