강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
MYSQL관리를 위한 mysqladmin 3편
조회 : 4,667  


기술문서 : MYSQL관리를 위한 mysqladmin

 

 

 

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

 

ㅇ 본강좌의 자세한 정보 : 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 죽었는지 살았는지 확인하기

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

MYSQL mysqladmin유틸리티를 사용하면 현재 실행중인 MYSQL을 종료할 수 있습니다.  , mysqladmin유틸리티에 shutdown이라는 명령어를 사용하면 MYSQL의 실행이 종료됩니다. 사용하는 형식은 다음과 같습니다.

 

사용형식 : msyqladmin -u root -p shutdown

 

이와 같은 방법으로 MYSQL을 종료하게 되면 현재 사용중인 모든 MYSQL사용이 중지되므로 주의하시기 바랍니다.

 

아래의 예는 현재 실행된 MYSQL mysqladmin으로 실행중지 시킨 예입니다.  먼저 ps명령어로 현재 실행된 MYSQL의 프로세스를 확인 하였습니다. 그리고 mysqladmin shutdown이라는 명령어를 실행하여 실행중인 MYSQL을 종료 하였습니다. 그런다음 다시 ps명령어로  MYSQL의 실행종료를 확인 하였습니다.

 

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

[root@file bin]# ps -ef | grep mysqld

root      2010  1973  0 01:09 pts/0    00:00:00 /bin/sh ./mysqld_safe

mysql     2023  2010  0 01:09 pts/0    00:00:00 [mysqld]

root      2126  2041  0 01:26 pts/1    00:00:00 grep mysqld

[root@file bin]#

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

Enter password: ********

[root@file bin]#

[root@file bin]# ps -ef | grep mysqld

root      2136  2041  0 01:26 pts/1    00:00:00 grep mysqld

[root@file bin]#

 

 

 

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

 

MYSQL의 관리 유틸리티인 mysqladmin을 이용하시면 현재 MYSQL을 사용하고 있는 사용자들의 정보를 확인할 수 있습니다. 즉 현재 활동중인(active) MYSQL의 스레드(threads)를 확인 할 수 있습니다.  이를 위한 사용형식은 다음과 같습니다.

 

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

 

아래의 예는 현재 필자가 사용하는 리눅스 서버에서 MYSQL을 사용중인 사용자정보를 확인하기 위하여 mysqladmin유틸리티를 이용한 예입니다.

 

[root@file bin]# pwd

/usr/local/mysql/bin

[root@file bin]#

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

Enter password: ********

+----+------+-----------+-------+---------+------+-------+------------------+

| Id | User | Host      | db    | Command | Time | State | Info             |

+----+------+-----------+-------+---------+------+-------+------------------+

| 9  | papa | localhost | papa  | Sleep   | 29   |       |                  |

| 10 | root | localhost | mysql | Sleep   | 22   |       |                  |

| 12 | root | localhost |       | Query   | 0    |       | show processlist |

+----+------+-----------+-------+---------+------+-------+------------------+

[root@file bin]#

 

위의 결과를 보시면 현재 papa라는 MYSQL사용자와 root MYSQL에 접속해 있다는 것과 이들의 접속정보 및 사용명령어들을 간단히 확인할 수 있습니다.

 

참고로 papa root는 리눅스 시스템 계정명이 아닌 MYSQL 사용자명입니다. 

 

 

 

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

 

MYSQL의 관리 유틸리티 mysqladmin을 이용하면 현재 MYSQL을 사용하고 있는 사용자(스레드, threads)의 접속을 선택적으로 종료할 수 있습니다.  , mysqladmin kill명령어를 사용하시면 특정 사용자의 접속(스레드, threads)만을 종료 할 수 있습니다.  이를 위하여 MYSQL의 스레드(threads)를 확인해야 하는데 앞에서 설명드렸던 mysqladmin processlist라는 명령어를 이용하시면 MYSQL의 스레드를 확인 할 수 있습니다. 

 

사용하는 형식은 다음과 같습니다.

 

사용형식 : mysqladmin -u root -p kill 사용자ID

 

다음 예는 mysqladmin을 이용하여 현재 MYSQL을 사용하고 있는 papa사용자의 스레드(threads)를 종료한 것입니다. 

 

그리고 다시 “./mysqladmin -u root -p processlist”를 실행하여 papa MYSQL 접속이 종료되었는가를 확인 하였습니다.

 

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

Enter password: ********

+----+------+-----------+-------+---------+------+-------+------------------+

| Id | User | Host      | db    | Command | Time | State | Info             |

+----+------+-----------+-------+---------+------+-------+------------------+

| 8  | papa | localhost | papa  | Sleep   | 41   |       |                  |

| 11 | root | localhost | mysql | Sleep   | 18   |       |                  |

| 12 | root | localhost |       | Query   | 0    |       | show processlist |

+----+------+-----------+-------+---------+------+-------+------------------+

[root@file bin]#

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

Enter password: ********

[root@file bin]#

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

Enter password: ********

+----+------+-----------+-------+---------+------+-------+------------------+

| Id | User | Host      | db    | Command | Time | State | Info             |

+----+------+-----------+-------+---------+------+-------+------------------+

| 11 | root | localhost | mysql | Sleep   | 36   |       |                  |

| 14 | root | localhost |       | Query   | 0    |       | show processlist |

+----+------+-----------+-------+---------+------+-------+------------------+

[root@file bin]#

 

먼저 “./mysqladmin -u root -p processlist”를 이용하여 현재 MYSQL의 사용자 스레드(threads)를 확인 하였습니다.  이때 확인된 사용자가 papa root임을 알 수 있으며 papa ID 8이라는 것도 확인 할 수 있습니다.  이렇게 papa사용자의 스레드(threads) ID를 확인한 후에 이 스레드를 종료시키기 위하여 “./mysqladmin -u root -p kill 8”을 실행한 것입니다.  , papa의 스레드 ID 8번이므로 8번 스레드를 종료시키게 되면 papa MYSQL접속이 종료됩니다.

 

이번 예에 대한 실무적인 활용은 특정 사용자가 MYSQL의 자원을 과하게 많이 사용하여 서버부하를 유발한다면 특정 사용자의 스레드(threads)를 종료함으로서 그 사용자의 MYSQL 접속을 끊어버리는 목적으로 활용 할 수 있습니다.

 

 

 

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

 

MYSQL의 간단한 실행상태 정보를 확인하려면 mysqladmin유틸리티에 status라는 명령어를  실행하시면 됩니다.  여기서 확인할 수 있는 MYSQL의 실행정보들은 다음과 같습니다.

 

- MYSQL의 총 실행시간

- 현재 처리중인 스레드(Threads)

- 오픈된 데이터베이스 및 테이블 수

- 초당 평균 처리속도

- 기타 실행정보들(스로우쿼리, Flush tables)

 

위와 같은 MYSQL의 간단한 운용정보들을 확인하는 사용형식은 다음과 같습니다.

 

 

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

 

아래의 예는 mysqladmin을 이용하여 현재 필자가 사용하고 있는 리눅스 서버에 설치되어 있는 MYSQL의 간단한 실행정보들을 확인한 것입니다.

[root@file bin]# pwd

/usr/local/mysql/bin

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

Enter password: ********

Uptime: 475  Threads: 2  Questions: 45  Slow queries: 0  Opens: 12  Flush tables: 1  Open tables: 1  Queries per second avg: 0.095

[root@file bin]#

위의 예의 결과로 알 수 있는 것은 다음과 같습니다.

- MYSQL의 총 실행시간(Uptime)                          : 475

- 현재 처리중인 스레드(Threads)                       :   2

- 오픈된 데이터베이스(Opens) 및 테이블(Open tables)   :  12

- 초당 평균 처리속도(Queries per second avg)            :   1

- 기타 실행정보들(스로우쿼리, Flush tables)

 

 

 

 

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

 

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

 

 

 


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=1396


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수