`
androider
  • 浏览: 748437 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

Processlist命令

阅读更多
使用show processlist命令,查看mysql中线程的状态,相关参数含义,参见“mysql show processlist命令 详解”。这个命令,最好在压力测试出现问题的时候使用,因为show processlist截取的是当前状态下的线程状态。附上一个脚本,用于截取此命令的数据并保存到文本中。建议取的间隔时间在5s以上,否则可能对服务器造成一定的压力。
  _date=`date +%y-%m-%d`
_time=`date +%H:%M`
_dir=/root/process/
_log=$_dir$_date.log

touch $_log
echo begin at $_time:>>$_log
for ((i=1;i<2;)) do
date +%H:%M:%S>>$_log
/usr/local/mysql/bin/mysqladmin processlist -u root –p123>>$_log
sleep 5s
done
说明:绿色部分为mysql地址,-u后是你的用户名,-p后是mysql的密码
脚本保存在.sh文件里,需要先转换成可执行文件。然后用./文件名来执行。注意,这样执行是在前台执行。可以用at来提交作业到后台执行。但是不建议。

对于show processlist中出现大量锁的情况,有以下两种可能。
因为我们的表类型是myisam,采用的是表级锁。我只针对这种情况进行分析。对于innoDB类型(采用行级锁),因为是事务型的表,一旦出现琐的情况,就要考虑是否事务使用不当造成死锁。
言归正传。因为表级别的锁不会出现死锁,但是mysql对这种表的规定是,写锁的级别高于读锁。如果有一个update操作作用于表A,那么所有其他作用于表A的操作都会被锁。所以,如果表A的update操作很频繁,建议不要使用myisam表。另一个针对mysiam表的锁的情况是:如果一个select操作很慢,在他结束之前,如果出现一个update操作,根据锁的优先级别,所有其他的查询操作全部被锁。这种情况,首先考虑优化那个慢的查询语句。如果没有优化空间,可以考虑拆分表或复制表的方式。我们的系统就是第二种原因,后来把那个功能暂时屏蔽了之后系统就恢复了正常。
分享到:
评论

相关推荐

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

    show processlist 命令非常实用,有时候mysql经常跑到50%以上或更多,就需要用这个命令看哪个sql语句占用资源比较多,就知道哪个网站的程序问题了。 show processlist 命令的输出结果显示了有哪些线程在运行,可以...

    processlist命令 查看mysql 线程

    `processlist`命令是MySQL管理工具中的一个关键命令,它用于查看MySQL服务器当前正在执行的线程信息。这个命令对于数据库管理员来说极其重要,因为它能够帮助监控和诊断系统的性能问题,找出潜在的阻塞或者资源消耗...

    mysql的慢日志配置查询和show processlist使用

    Show Processlist 是 MySQL 中的一个命令,用于显示当前 MySQL 服务器中正在执行的所有进程。通过这个命令,我们可以查看当前 MySQL 服务器中的所有活动进程,包括当前执行的 SQL 语句、锁定的资源、执行时间等信息...

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

    `SHOW PROCESSLIST`是MySQL管理工具中非常关键的一个命令,用于查看当前系统中所有线程的状态,帮助数据库管理员监控和诊断系统性能问题。这个命令在MySQL服务器资源占用过高时尤其有用,因为它能揭示哪些SQL语句...

    MySQL SHOW PROCESSLIST协助故障诊断全过程

    一、SHOW PROCESSLIST命令 SHOW PROCESSLIST显示正在运行(用户运行线程)的线程(或SHOW FULL PROCESSLIST显示更多信息)。您还可以从INFORMATION_SCHEMA PROCESSLIST表或mysqladmin processlist命令获取此信息。...

    该如何解决MySQL中的死锁问题.txt

    定期使用SHOW PROCESSLIST命令检查当前正在执行的查询和它们的状态,以发现潜在的死锁。 分析死锁原因: 仔细分析死锁日志,找出导致死锁的事务和查询。 确定死锁涉及的表和行,以及它们之间的依赖关系。 分析查询的...

    实验5 数据库性能监视与优化实验.docx

    通过SHOW PROCESSLIST命令,可以查询当前正在运行的线程信息,协助进行故障诊断。 8. 慢查询日志分析 慢查询日志是MySQL数据库中的一种日志机制,用于记录执行时间较长的查询语句。通过mysqldumpslow命令,可以对...

    数据库运维形考任务5-实验5 数据库性能监视与优化实验.pdf

    在这个实验中,我们将使用 SHOW PROCESSLIST 命令来查询用户正在运行的线程信息。这可以帮助我们诊断和优化数据库性能。 实验 5-9:调出慢查询日志并利用 mysqldumpslow 进行日志分析 在这个实验中,我们将调出慢...

    实战MySQL慢SQL调优

    在MySQL中,可以使用SHOW PROCESSLIST命令来查看当前正在执行的查询语句,并可以使用EXPLAIN命令来查看查询语句的执行计划。 在对慢SQL查询进行调优之前,需要了解查询语句的执行计划。执行计划会显示查询语句的...

    MySQL数据库疑难杂症排查.pptx

    * 使用 show [full] processlist 命令查看 MySQL 线程状态 * 检查是否存在没有适当的索引,查询效率低 * 检查是否读取大量数据,读取缓慢 * 检查系统负载是否高,读取缓慢 五、结论 在本文中,我们对 MySQL 数据库...

    mysql45讲 19.为什么我只查一行的语句,也执行这么慢?1

    为了分析原因,我们可以执行 show processlist 命令,看看当前语句处于什么状态。然后我们再针对每种状态,去分析它们产生的原因、如何复现,以及如何处理。 等 MDL 锁 使用 show processlist 命令查看 Waiting ...

    mysql性能工具的使用.txt

    #### SHOW PROCESSLIST命令 `SHOW PROCESSLIST`命令可以显示当前所有正在运行的MySQL连接和它们的状态信息,包括用户的名称、ID、主机地址、执行的查询、执行时间等。这对于诊断数据库性能问题非常有用。例如,如果...

    查看Mysql运行状态

    2. **使用 SHOW PROCESSLIST 命令**:此命令用于查看当前正在运行的所有连接和进程列表,可以帮助管理员了解哪些用户正在进行何种操作。 ```sql SHOW PROCESSLIST; ``` 3. **使用 SHOW OPEN TABLES 命令**:用于...

    mysql面试题.docx

    MySQL面试题知识点总结 MySQL 是一种关系型数据库管理系统,...可以使用 MySQL 自带的监控工具和命令,比如 show processlist 命令、mysqladmin 命令、MySQL Enterprise Monitor 等等来检查 MySQL 服务器的健康状态。

    Mysql User表权限字段说明全介绍

    9. Process_priv:允许用户查看其他用户的进程列表,通过SHOW PROCESSLIST命令实现。 10. File_priv:当File_priv设为'Y'时,用户可以使用SELECT INTO OUTFILE和LOAD DATA INFILE命令进行数据导入导出。 11. Grant...

Global site tag (gtag.js) - Google Analytics