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

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

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

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

 

 

 

 

 

 

MYSQL의 관리 유틸리티 mysqladmin을 이용하면 현재 MYSQL을 사용하고있는 사용자(스레드, threads)의 접속을 선택적으로 종료할 수 있다.

 

 

 

 

  즉 mysqladmin의 kill명령어를 사용하면 특정사용자의 접속(스레드, threads)만을 종료 할 수 있다.

 

 

 

 

  이를 위하여 MYSQL의 스레드(threads)를 확인해야하는데 앞에서 설명드렸던 mysqladmin의 processlist라는 명령어를 이용하면 MYSQL의 스레드를 확인 할 수 있다.

 

 

 

 

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

 

 

 

 

 

 

사용형식 : mysqladmin -u root -p kill 스레드번호

 

 

 

 

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

 

 

 

 

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

 

 

 

 

 

 

[root@sulinux bin]#/usr/local/mysql/bin/mysqladmin -u root -p processlist

Enter password: ********

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

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

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

| 9  | picasso  | localhost | picasso_db | Sleep   | 92   |       |                  |

| 10 | sspark   | localhost | sspark_db  | Sleep   | 88   |       |                  |

| 11 | tempuser | localhost | temp_db2   | Sleep   | 83   |       |                  |

| 13 | root     | localhost |            | Query   | 0    |       | show processlist |

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

[root@sulinux bin]#

[root@sulinux bin]#/usr/local/mysql/bin/mysqladmin -u root -p kill 10

Enter password: ********

[root@sulinux bin]#

[root@sulinux bin]#/usr/local/mysql/bin/mysqladmin -u root -p processlist

Enter password: ********

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

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

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

| 9  | picasso  | localhost | picasso_db | Sleep   | 103  |       |                  |

| 11 | tempuser | localhost | temp_db2   | Sleep   | 94   |       |                  |

| 15 | root     | localhost |            | Query   | 0    |       | show processlist |

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

[root@sulinux bin]#

 

 

 

 

먼저 “./mysqladmin -u root -p processlist”를 이용하여 현재 MYSQL의 사용자 스레드(threads)를 확인하였다.

 

 

 

 

  이때 확인된 사용자가 picasso, sspark, tempuser와 root임을 알 수 있으며 sspark의 ID가 10이라는 것도 확인 할 수 있다.

 

 

 

 

  이렇게 sspark사용자의 스레드(threads) ID를 확인한 후에 이 스레드를 종료시키기 위하여 “./mysqladmin -u root -p kill 10”을 실행한 것이다.

 

 

 

 

  즉 sspark의 스레드 ID가 10번이므로 10번 스레드를 종료시키게되면 sspark의 MYSQL접속이 종료된다.

 

 

 

 

 

 

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

 

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,534 명
  • 현재 강좌수 :  37,615 개
  • 현재 접속자 :  105 명