[MySQL] 실행중인 쿼리 콘솔에서 중단시키기

간혹 특정 프로그램에서 실행한 쿼리가 잘못되어 데이터베이스 서버 전체가 먹통이 되는 경우가 생길 수 있습니다.

정체를 알 수 없는 상황에서의 이런 현상은 원인을 잡아내기가 힘들죠. 하지만 그냥 문제가 되는 쿼리(보통 이런 문제는 두가지 쿼리가 서로의 종료를 기다리며 발생하는 데드락 현상이 많습니다)를 바로 죽이면 해결됩니다.

mysql> SHOW PROCESSLIST;
+----+--------+--------------+---------+---------+------+-------+-------------
| Id | User   | Host         | db      | Command | Time | State | Info        
+----+--------+--------------+---------+---------+------+-------+-------------
|  5 | root   | localhost    | STARPL3 | Query   | 2048 | init  | INSERT INTO ...
| 13 | root   | localhost    | NULL    | Query   |    0 | NULL  | show processlist
| 14 | lapoly | Canopus:3750 | STARPL3 | Sleep   |  160 |       | NULL        
| 15 | lapoly | Canopus:3751 | NULL    | Sleep   |  386 |       | NULL        
+----+--------+--------------+---------+---------+------+-------+-------------
4 rows in set (0.00 sec)

딱 보았을때 INSERT INTO 쿼리문의 Time을 보니 엄청나게 오랜 시간이 걸리는 쿼리문이라는것을 알 수 있습니다.

저것을 죽일려면 KILL 명령을 사용하시면 됩니다. [참고]

mysql> KILL 5

앞에 나와있는 Id의 값을 인자로 사용하시면 잠시 후 해당 쿼리가 강제로 중단됩니다.

[TC/TT] SyntaxHighlighter 2.0 – Google Code Prettify

– Example of Lua syntax highlighting
[code lang-lua]os=require(“os”)
math=require(“math”)
 
— Some comments that demonstrate long brackets
double_quoted = “Not a long bracket [=[“
–[=[ quoting out
 [[ foo ]]
 [==[does not end comment either]==]
]=]
past_end_of_comment
–]=]
 
— Example code courtesy Joseph Harmbruster
#
do
  local function ssgeneral(t, n, before)
    for _, h in ipairs(incs) do
      for i = h + 1, n do
        local v = t[i]
        for j = i – h, 1, -h do
          local testval = t[j]
          if not before(v, testval) then break end
          t[i] = testval; i = j
        end
        t[i] = v
      end
    end
    return t
  end
 
  function shellsort(t, before, n)
    n = n or #t
    if not before or before == “<” then return ssup(t, n)
    elseif before == “>” then return ssdown(t, n)
    else return ssgeneral(t, n, before)
    end
  end
  return shellsort
end[/code]
SyntaxHighlighter 2.0입니다. 1.x대에서 2.0으로의 발전은 많은것이 바뀌었음을 뜻합니다.

이 코드강조 플러그인의 자세한 설명은 이전 글을 참고하세요. [1.0] [1.3]

이번 버젼의 가장 큰 변화는 하이라이팅 될 언어가 자동으로 선택 되던것뿐만 아니라 임의로 지정할 수 있습니다.

– 기존의 자동 언어 선택 하이라이팅
[code]…[/code]

– 임의 지정 하이라이팅
[code lang-c]…[/code]

지원하는 언어는 다음과 같습니다. (괄호안이 임의 지정할때 사용되는 코드)



  • bash(lang-sh)
  • C(lang-c)
  • C++(lang-cc)
  • C#(lang-cs)
  • Java(lang-java)
  • Javascript(lang-js)
  • Perl
  • Python(lang-py)
  • SQL(lang-sql)
  • XML
  • (X)HTML(lang-html)
  • PHP
  • XSL
  • Lua(lang-lua)
  • VBScript(lang-vb)
  • Haskell(lang-hs)
  • Ocaml & F#(lang-ml)
  • Lisp(lang-el)
  • Protocol Buffers(lang-proto)
  • Wiki Syntax(lang-wiki)
  • CSS(lang-css)
  • VHDL(lang-vhdl)

버그나 기능개선 문의는 블로그에 댓글 달아주시거나 메일주세요^^

* 2010년 2월 10일 버그 수정판(2.1)
– 특정 호스팅 서버에서 코드 부분이 사라지는 문제 해결
– PHP5의 경우 code태그 대소문자 구분없이 사용가능하도록 수정

1375262287.zip