加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋中站长网 (https://www.0354zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

记一次生产数据库意外重启的经历

发布时间:2019-01-01 19:02:38 所属栏目:MySql教程 来源:小柒2012
导读:前言 在一个阳光明媚的下午,电脑右下角传来一片片邮件提醒,同时伴随着微信钉钉的震动,打开一看,应用各种出错,天兔告警,数据库服务器内存爆红,MySql 数据库实例挂掉了。 排查 先交代一下数据库版本: mysqlstatus -------------- mysqlVer14.14Distr

1)查看MySQL全局占用多少内存

  1. SELECT (@@innodb_buffer_pool_size  
  2. +@@innodb_log_buffer_size  
  3. +@@key_buffer_size) / 1024 /1024 AS MEMORY_MB; 

查询结果为: 

  1. +----------------+  
  2.    | MEMORY_MB      |  
  3.    +----------------+  
  4.    | 20512.00000000 |  
  5.    +----------------+ 

2)查看performance_schema占用多少内存

  1. SELECT SUBSTRING_INDEX(event_name,'/',2) AS  
  2.          code_area, sys.format_bytes(SUM(current_alloc))  
  3.          AS current_alloc  
  4.          FROM sys.x$memory_global_by_current_bytes  
  5.          GROUP BY SUBSTRING_INDEX(event_name,'/',2)  
  6.          ORDER BY SUM(current_alloc) DESC; 

查询结果为: 

  1. +---------------------------+---------------+  
  2.     | code_area                 | current_alloc |  
  3.     +---------------------------+---------------+  
  4.     | memory/performance_schema | 349.80 MiB    |  
  5.     +---------------------------+---------------+ 

3)查看每个线程占用多少内存 

  1. SELECT ( ( @@read_buffer_size  
  2.    + @@read_rnd_buffer_size  
  3.    + @@sort_buffer_size  
  4.    + @@join_buffer_size  
  5.    + @@binlog_cache_size  
  6.    + @@thread_stack  
  7.    + @@max_allowed_packet  
  8.    + @@net_buffer_length )  
  9.    ) / (1024*1024) AS MEMORY_MB; 

查询结果为:

  1. +-----------+  
  2.   | MEMORY_MB |  
  3.   +-----------+  
  4.   |   87.5156 |  
  5.   +-----------+ 

查看当前线程 

  1. show full processlist 

(编辑:晋中站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读