PUB:20140703 How to find and kill misbehaving MySQL queries

@hunanchenxingyu 翻译质量不佳,下回请自己先读一遍。可以参照翻译词典和翻译程序,但是不能依赖。
This commit is contained in:
wxy 2014-07-27 16:50:49 +08:00
parent 0e88be8853
commit 25762a4dd1
2 changed files with 17 additions and 12 deletions

View File

@ -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/) 荣誉推出

View File

@ -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/) 荣誉推出