processlist命令 查看mysql 线程

1. 进入mysql/bin目录下输入mysqladmin processlist;
2. 启动mysql,输入show processlist(关闭某一线程 kill id;);
如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程)。
得到数据形式如下(只截取了三条):
mysql> show processlist;
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
| Id | User | Host | db | Command | Time| State | Info
+-----+-------------+--------------------+-------+---------+-------+----------------------------------+----------
|207|root |192.168.0.20:51718 |mytest | Sleep | 5 | | NULL
|208|root |192.168.0.20:51719 |mytest | Sleep | 5 | | NULL
|220|root |192.168.0.20:51731 |mytest |Query | 84 | Locked |
select bookname,culture,value,type from book where id=001
先简单说一下各列的含义和用途,第一列,id,不用说了吧,一个标识,你要kill一个语句的时候很有用。user列,显示单前用户,如果不是root,这个命令就只显示你权限范围内的sql语句。host列,显示这个语句是从哪个ip的哪个端口上发出的。呵呵,可以用来追踪出问题语句的用户。db列,显示这个进程目前连接的是哪个数据库。command列,显示当前连接的执行的命令,一般就是休眠(sleep),查询(query),连接(connect)。time列,此这个状态持续的时间,单位是秒。state列,显示使用当前连接的sql语句的状态,很重要的列,后续会有所有的状态的描述,请注意,state只是语句执行中的某一个状态,一个sql语句,已查询为例,可能需要经过copying to tmp table,Sorting result,Sending data等状态才可以完成,info列,显示这个sql语句,因为长度有限,所以长的sql语句就显示不全,但是一个判断问题语句的重要依据。

(0)

相关推荐

  • Apache、SSL、MySQL和PHP平滑无缝地安装

    为了这个任务所需的工具是: Apache-一个网站服务器  Mod_SSL-一个安全套接字层(SSL)的模块  OpenSSL-开放源代码工具箱(mod_ssl所需)  RSARef-仅对美国用户  MySQL-一个数据库服务器  PHP-一种脚本语言  "条条大路通罗马"--因此这只是很多能达到我们要求的配置之一.我选择这样的配置,是因为它是最简单和最快的一种.选择Mod_SSL/OpenSSL的原因是因为我有它的先前经验,是最快配置和最容易安装的一种.为了彼此方便地与Apache集

  • 通过mysql show processlist 命令检查mysql锁的方法

    processlist命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句,两种方式使用这个命令. 1.      进入mysql/bin目录下输入mysqladmin processlist; 2.      启动mysql,输入show processlist; 如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程). 得到数据形式如下(只截取了三条): mysql> show processlist; +---

  • apache+mysql+php+ssl服务器之完全安装攻略

    目的我们的目标是安装一个允许我们托管多个网站的web服务器,其中一些是针对电子商务的安全解决方案,而大部分网站是通过连接一个数据库服务器并且提取其数据的脚本驱动的.为了这个任务所需的工具是:Apache-一个网站服务器Mod_SSL-一个安全套接字层(SSL)的模块OpenSSL-开放源代码工具箱(mod_ssl所需)RSARef-仅对美国用户MySQL-一个数据库服务器PHP-一种脚本语言 "条条大路通罗马"--因此这只是很多能达到我们要求的配置之一.我选择这样的配置,是因为它是最简

  • MySQL基于SSL协议进行主从复制的详细操作教程

    当mysql跨越互联网进行复制时别人可以窃取到mysql的复制信息,这些信息是明文的,因此存在不安全性,这里通过ssl对复制的信息进行加密.当在客户没有固定ip而要访问服务器时,mysql要允许任意地址的访问,服务端和客户端通过证书验证可以防止暴力破解. 开始之前让我们先来回顾一下SSL协议客户端OpenSSL的安装过程: 安装openssl mkdir /test/setup cd /test/setup tar zxvf openssl-0.9.8b.tar.gz cd openssl-0.

  • mysql show processlist 显示mysql查询进程

    1.进入mysql/bin目录下输入mysqladmin processlist; 2.启动mysql,输入show processlist; 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程). 得到数据形式如下(只截取了三条): mysql> show processlist; +-----+-------------+--------------------+-------+---------+-------+----

  • linux系统中使用openssl实现mysql主从复制

            证书准备: CA证书: 第一步:创建CA私钥 [root@localhost CA]# (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048) 第二步:生成自签证书 [root@localhost CA]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem  -days 7300 -out /etc/pki/CA/cacert.pem -

  • 多种不同的 MySQL 的 SSL 配置

    在这篇博客的帖子里,我将会描述不同的使用MySQL数据库的SSL配置方法. SSL给了你什么? 你可以通过互联网使用 MySQL 复制特性(replication) 或者通过互联网连接到MySQL. 还有可能是你通过企业网去连接,这样会有很多人访问.如果你使用一个自带设备(BYOD)网络,这就更是一个问题了. SSL在这里通过加密网络防止有针对性的监听.在与正确的服务器进行交互时,可以有效应对中间人攻击(man-in-the-middle attacks). 你还可以使用SSL客户端证书,让它同

  • mysql通过ssl的方式生成秘钥具体生成步骤

    -- mysql ssl 生成秘钥 1 check ssl是否已经开启 mysql> show variables like '%ssl%'; +---------------+----------+ | Variable_name | Value | +---------------+----------+ | have_openssl | DISABLED | | have_ssl | DISABLED | | ssl_ca | | | ssl_capath | | | ssl_cert |

  • MySQL 使用 SSL 连接配置详解

    查看是否支持 SSL 首先在 MySQL 上执行如下命令, 查询是否 MySQL 支持 SSL: mysql> SHOW VARIABLES LIKE 'have_ssl'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_ssl | YES | +---------------+-------+ 1 row in set (0.02 sec) 当 have_ssl 为 YE

  • processlist命令 查看mysql 线程

    1. 进入mysql/bin目录下输入mysqladmin processlist; 2. 启动mysql,输入show processlist(关闭某一线程 kill id;); 如果有 SUPER 权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指,当前对应的MySQL帐户运行的线程). 得到数据形式如下(只截取了三条): mysql> show processlist; +-----+-------------+--------------------+-------+---

  • Linux中使用mysqladmin extended-status配合Linux命令查看MySQL运行状态

    mysqladmin是MySQL一个重要的客户端,最常见的是使用它来关闭数据库,除此,该命令还可以了解MySQL运行状态.进程信息.进程杀死等.本文介绍一下如何使用mysqladmin extended-status(因为没有"歧义",所以可以使用ext代替)了解MySQL的运行状态. 1. 使用-r/-i参数 使用mysqladmin extended-status命令可以获得所有MySQL性能指标,即show global status的输出,不过,因为多数这些指标都是累计值,如果

  • 如何用SQL命令查看Mysql数据库大小

    要想知道每个数据库的大小的话,步骤如下:1.进入information_schema 数据库(存放了其他的数据库的信息)use information_schema; 2.查询所有数据的大小:select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables; 3.查看指定数据库的大小:比如查看数据库home的大小select concat(round(sum(data_length/1024/1024),2),

  • MySQL通过show processlist命令检视性能的讲解

    show processlist 命令非常实用,有时候mysql经常跑到50%以上或更多,就需要用这个命令看哪个sql语句占用资源比较多,就知道哪个网站的程序问题了. show processlist 命令的输出结果显示了有哪些线程在运行,可以帮助识别出有问题的查询语句:如果有SUPER权限,则可以看到全部的线程,否则,只能看到自己发起的线程(这是指当前对应的MySQL帐户运行的线程). 先简单说一下各列的含义和用途 第一列,id,不用说了吧,一个标识,你要kill一个语句的时候很有用 user

  • jstack+jdb命令查看线程及死锁堆栈信息的实例

    如果程序挂死,有时使用jstack查看进程中线程信息时,需要添加上-F参数,此时如果有死锁信息,则可能不会打印出死锁堆栈信息,使用jdb则可以查看当前死锁线程的运行堆栈. 如下模拟一个简单的死锁程序 package com.demo.bootdemo; import java.util.HashMap; import java.util.Map; import org.springframework.context.ApplicationListener; import org.springfr

  • MySQL使用show status查看MySQL服务器状态信息

    在LAMP架构的网站开发过程中,有些时候我们需要了解MySQL的服务器状态信息,譬如当前MySQL启动后的运行时间,当前MySQL的客户端会话连接数,当前MySQL服务器执行的慢查询数,当前MySQL执行了多少SELECT语句.执行了多少UPDATE/DELETE/INSERT语句等统计信息,从而便于我们根据当前MySQL服务器的运行状态进行对应的调整或优化工作. 在MySQL中,我们可以使用SHOW STATUS指令语句来查看MySQL服务器的状态信息.下面,我们以DOS命令窗口的形式连接My

  • 查看mysql当前连接数的方法详解

    1.查看当前所有连接的详细资料: ./mysqladmin -uadmin -p -h10.140.1.1 processlist2.只查看当前连接数(Threads就是连接数.): ./mysqladmin -uadmin -p -h10.140.1.1 status .查看当前所有连接的详细资料: mysqladmin -uroot -proot processlist D:\MySQL\bin>mysqladmin -uroot -proot processlist| Id | User

  • 查看 MySQL 已经运行多长时间的方法

    一,uptime 可以查看系统的运行时间 show global status like 'uptime'; 二,利用linux命令查看 Linux 下有个 uptime 可以查看系统的运行时间,可是 MySQL 可没这个命令 不过用 ps 命令也可以做到 [root@dbserver ~]# ps aux | grep mysqlroot     29090  0.0  0.0  70232  1364 ?        S    Jun05   0:00 /bin/sh /usr/bin/m

  • 查找MySQL线程中死锁的ID的方法

    如果遇到死锁了,怎么解决呢?找到原始的锁ID,然后KILL掉一直持有的那个线程就可以了, 但是众多线程,可怎么找到引起死锁的线程ID呢? MySQL 发展到现在,已经非常强大了,这个问题很好解决. 直接从数据字典连查找. 我们来演示下. 线程A,我们用来锁定某些记录,假设这个线程一直没提交,或者忘掉提交了. 那么就一直存在,但是数据里面显示的只是SLEEP状态. mysql> set @@autocommit=0; Query OK, 0 rows affected (0.00 sec) mys

随机推荐