设为首页 收藏本站
查看: 1817|回复: 0

[经验分享] mysql排错 (一)

[复制链接]

尚未签到

发表于 2018-10-8 10:57:41 | 显示全部楼层 |阅读模式
  一,线程阻塞
  1) show processlist 显示前100条线程:
  stat有sleeping等待用户输入,updating正在更新数据,sending update等在把结果发给用户,lock查询被锁。
  2) show engine innodb status
  3)show innodb status只是其一种模式的直接展现,并且只能交互式开启,无法自动循环捕获信息
  innodb状态信息输出到 err 日志   在如何 库 下都可以,推荐在 test  数据库下创建如下表
  mysql> create table innodb_monitor(a int) engine=innodb;
  Query OK, 0 rows affected (0.09 sec)
  创建表后innodb会每过15秒输出一次innodb状态信息到error log,通过删除表停止该monitor功能。
  4)通过日志排错:
  1.错误日志文件:log_errorobal variables like 'log_error';
  +---------------+-----------------------------------------+
  | Variable_name | Value
  | log_error   | /mydata/data1/localhost.localdomain.err |
  +---------------+-----------------------------------------+
  2.临时打开通用日志:(打开以后所有查询指令都会保存下来,默认关闭)
  mysql> set global general_log='on';
  Query OK, 0 rows affected (0.00 sec)
  这是mysql会在数据目录下生成mydb3.log 文件,记录查询语句
  [root@mydb3 mysql]# ls
  auto.cnf        ib_logfile2  mydb3-relay-bin.000014  mysql               test         wwang
  ib_buffer_pool  master.info  mydb3-relay-bin.000015  performance_schema  uxallowance

  ibdata1         mydb3.err    mydb3-relay-bin.index  >  ib_logfile0     mydb3.log    mydb3-slow.log          set                 uxscan
  ib_logfile1     mydb3.pid    myslave                 show                uxstatistic
  [root@mydb3 mysql]# cat mydb3.log
  /usr/local/mysql/bin/mysqld, Version: 5.6.28 (MySQL Community Server (GPL)). started with:
  Tcp port: 3306  Unix socket: /tmp/mysql.sock

  Time                >  160518  7:42:05   187 Query     SET PROFILING=1
  187 Query     SHOW STATUS
  3.在有些时候,你会遇到其他人员反映程序执行慢,你怀疑可能是sql 执行慢导致,而又不知道具体的是那一条sql执行导致的,这个时候你可以临时开启慢查询日志,一般情况下慢查询都是开启的
  mysql> set global slow_query_log=on;
  Query OK, 0 rows affected (0.00 sec)
  5)事物相关
  查看正在锁的事务
  SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
  查看等待锁的事务
  SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS
  kill
  INNODB_TRX表主要是包含了正在InnoDB引擎中执行的所有事务的信息,包括waiting for a lock和running的事务
  INNODB_LOCKS表主要包含了InnoDB事务锁的具体情况,包括事务正在申请加的锁和事务加上的锁。
  INNODB_LOCK_WAITS表包含了blocked的事务的锁等待的状态


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-616369-1-1.html 上篇帖子: centos7.1安装mysql6.5 下篇帖子: mysql排错(二)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表