mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
PUB:20140703 How to find and kill misbehaving MySQL queries
@hunanchenxingyu 翻译质量不佳,下回请自己先读一遍。可以参照翻译词典和翻译程序,但是不能依赖。
This commit is contained in:
parent
0e88be8853
commit
25762a4dd1
@ -1,8 +1,9 @@
|
||||
怎样去查找并杀掉非法的MySQL查询
|
||||
怎样把坏的MySQL查询找到并杀死?
|
||||
================================================================================
|
||||
有时,相关数据库系统的复杂性可能被压倒.幸运地,这种复杂性是一种优势,与 MySQL工具一起管理查询. 在本教程中, 我将向你们展示 **怎样去查找并杀掉任何非法的MySQL查询**.
|
||||
|
||||
为了浏览当前正在运行的查询, 登陆到MySQL终端,然后运行‘show processlist’命令:
|
||||
有时,关系型相关数据库系统的复杂性会把你搞晕,不过幸运的是,使用MySQL工具来管理查询就就可以避免这些复杂性。 在本教程中,我将向你们展示 **怎样去查找并杀掉任何非法的MySQL查询**。
|
||||
|
||||
为了浏览当前正在运行的查询,登陆到MySQL终端,然后运行‘show processlist’命令:
|
||||
|
||||
mysql> show processlist;
|
||||
|
||||
@ -16,10 +17,10 @@
|
||||
+--------+--------+-----------------+---------+---------+-------+-------+------------------+-----------+---------------+-----------+
|
||||
4 rows in set (0.03 sec)
|
||||
|
||||
首先 你应该查看'Time'项, 这里记录了进程执行 "doing the thing it's doing" 操作的秒数. ‘command’项处于‘Sleep’
|
||||
状态的进程正在等待查询, 因此,它并没有消耗任何资源. 对于其他任何进程而言,‘Time’超过一定的秒数表明出现问题.
|
||||
首先你应该查看'Time'项,这里记录了进程执行 "做其当做的事情" 操作的秒数。‘command’项处于‘Sleep’
|
||||
状态的进程表示其正在等待接受查询,因此,它并没有消耗任何资源。对于其他任何进程而言,‘Time’超过一定的秒数表明出现问题。
|
||||
|
||||
在这种情况下,只能通过运行‘show processlist’命令来查询.如果我们有一个糟糕的写查询,让我们来看看情况如何:
|
||||
在上面的例子中,唯一运行的查询是我们的‘show processlist’命令。让我们来看看如果我们有一个写的很烂的查询是怎么样的:
|
||||
|
||||
mysql> show processlist;
|
||||
|
||||
@ -35,19 +36,19 @@
|
||||
+--------+--------+-----------------+-----------+---------+-------+--------------+----------------------------------+-----------+---------------+-----------+
|
||||
6 rows in set (0.00 sec)
|
||||
|
||||
啊哈!现在我们看到这里的查询几乎运行了30s. 如果我们不想让它继续运行,可以使用它的'Id'去执行kill命令:
|
||||
啊哈!现在我们看到有一个查询运行了将近30秒。如果我们不想让它的进程继续运行,可以将它的'Id'传递给kill命令:
|
||||
|
||||
mysql> kill 132033;
|
||||
Query OK, 0 rows affected (0.00 sec)
|
||||
mysql>
|
||||
|
||||
(注意 由于我们没有改变任何数据,MySQL总是报告0行被影响.)
|
||||
(注意 由于我们没有改变任何数据,MySQL总是报告0行被影响。)
|
||||
|
||||
明智的使用kill命令能够清除积压的查询.记住,但那不是一种永久的方法 - 如果这些查询来自你的应用,你需要去重写它们,或者将继续看到相同的问题.
|
||||
明智的使用kill命令能够清除积压的查询。然而,要记住的是,那不是一种永久的方法 - 如果这些查询来自你的程序,你需要去重写它们,或者将继续看到相同的问题不断出现。
|
||||
|
||||
### 另请参阅 ###
|
||||
|
||||
关于不同‘Command’的MySQL文档:
|
||||
关于不同‘命令’的MySQL文档:
|
||||
|
||||
- [https://dev.mysql.com/doc/refman/5.7/en/thread-commands.html][1]
|
||||
|
||||
@ -55,7 +56,7 @@
|
||||
|
||||
via: http://xmodulo.com/2014/07/find-kill-misbehaving-mysql-queries.html
|
||||
|
||||
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[hunanchenxingyu](https://github.com/hunanchenxingyu) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
@ -1,8 +1,11 @@
|
||||
主流搜索引擎闯入Linux命令行世界
|
||||
================================================================================
|
||||
(LCTT译注:这里,我们姑且认为您身处能够访问Internet的地方!)
|
||||
|
||||
为什么会有人要从终端搜索互联网上的东西?我不清楚,这里头可能有许多的原因。但是,因为没人要求答案总比没人知道答案少令人失望一点。这里,列出了一些流行的搜索引擎的命令行工具,可以让你们通过Linux终端来访问它们。
|
||||
|
||||
### 1. Google ###
|
||||
|
||||
让我们从一个巨头开始吧:Bing!好吧,只是开个玩笑,事实上应该是Google。坦白讲,你根本不需要使用命令行工具来进行Google搜索。只需要简简单单的一个命令:
|
||||
|
||||
$ xdg-open https://www.google.com/search?q="[query]"
|
||||
@ -84,11 +87,12 @@ Twitter是迎合潮流的一个很好的搜索引擎。我们已经在[如何在
|
||||
#### Adrien Brochard ####
|
||||
|
||||
我是一位来自法国的Linux爱好者。在尝试了多个发行版后,我最后认可了Archlinux。然而,我一直在试着通过积累一些知识和技巧来改善我的系统。
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
via: http://xmodulo.com/2014/06/access-popular-search-engines-command-line-linux.html
|
||||
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[校对者ID](https://github.com/校对者ID)
|
||||
译者:[GOLinux](https://github.com/GOLinux) 校对:[wxy](https://github.com/wxy)
|
||||
|
||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译,[Linux中国](http://linux.cn/) 荣誉推出
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user