产线事故:删除创建mysql索引
单表数据量:670W;
删除一个老的索引,新建一个新的索引。
事故原因:
先删除索引,应用访问量大,没有索引自然慢,数据库CPU飚到100%;新索引创建失败。
直接造成交易打烊。
日志:
------[2019-03-26 19:39:48]------
检查Threads_running(运行中的线程数量),它在一定程度上代表了当前数据库的负荷。
[Threads_running : 28 ] 正常。 ------[2019-03-26 19:39:48]------
set lock_wait_timeout=10 ------[2019-03-26 19:39:48]------
开始执行SQL... ------[2019-03-26 19:39:59]------
Lock wait timeout exceeded; try restarting transaction ------[2019-03-26 19:39:59]------
重试执行第1次... ------[2019-03-26 19:39:59]------
检查Threads_running(运行中的线程数量),它在一定程度上代表了当前数据库的负荷。 ------[2019-03-26 19:39:59]------
[Threads_running : 142 ]当前数据库繁忙。暂停5S后将执行第1次重试,请等待... ------[2019-03-26 19:40:04]------
开始重试检查Threads_running。 ------[2019-03-26 19:40:04]------
[Threads_running : 143 ]当前数据库繁忙。暂停5S后将执行第2次重试,请等待... ------[2019-03-26 19:40:09]------
开始重试检查Threads_running。 ------[2019-03-26 19:40:09]------
[Threads_running : 143 ]当前数据库繁忙。暂停5S后将执行第3次重试,请等待... ------[2019-03-26 19:40:14]------
开始重试检查Threads_running。 ------[2019-03-26 19:40:14]------
[Threads_running : 143 ]当前数据库繁忙。暂停5S后将执行第4次重试,请等待... ------[2019-03-26 19:40:19]------
开始重试检查Threads_running。 ------[2019-03-26 19:40:19]------
[Threads_running : 143 ]当前数据库繁忙。暂停5S后将执行第5次重试,请等待... ------[2019-03-26 19:40:24]------
开始重试检查Threads_running。 ------[2019-03-26 19:40:24]------
[Threads_running : 143 ] 当前数据库繁忙!任务取消执行,请稍后数据库空闲后重试!
处理方案:
下线应用,kill掉CPU链接,等CPU降下来手工创建索引。启动应用,正常。
经验教训:
1、加强DDL语句审核
2、先建索引,再删索引,顺序一定要对,尤其产线。
产线事故:删除创建mysql索引的更多相关文章
- 创建mysql索引的方式
创建索引方式: 1.create index 索引名 on 表名 (字段) 2.alter table 表 add index 索引名 (字段) -- 普通索引 alter table 表名 ...
- MySQL索引,如何正确创建MySQL索引?
索引可以提高数据的检索效率,也可以降低数据库的IO成本,并且索引还可以降低数据库的排序成本.排序分组操作主要消耗的就是CPU资源和内存,所以能够在排序分组操作中好好的利用索引将会极大地降低CPU资源的 ...
- mysql索引总结(1)-mysql 索引类型以及创建
mysql索引总结(1)-mysql 索引类型以及创建 mysql索引总结(2)-MySQL聚簇索引和非聚簇索引 mysql索引总结(3)-MySQL聚簇索引和非聚簇索引 mysql索引总结(4)-M ...
- mysql索引总结(4)-MySQL索引失效的几种情况
mysql索引总结(1)-mysql 索引类型以及创建 mysql索引总结(2)-MySQL聚簇索引和非聚簇索引 mysql索引总结(3)-MySQL聚簇索引和非聚簇索引 mysql索引总结(4)-M ...
- mysql索引总结(3)-MySQL聚簇索引和非聚簇索引
mysql索引总结(1)-mysql 索引类型以及创建 mysql索引总结(2)-MySQL聚簇索引和非聚簇索引 mysql索引总结(3)-MySQL聚簇索引和非聚簇索引 mysql索引总结(4)-M ...
- mysql索引总结(2)-MySQL聚簇索引和非聚簇索引
mysql索引总结(1)-mysql 索引类型以及创建 mysql索引总结(2)-MySQL聚簇索引和非聚簇索引 mysql索引总结(3)-MySQL聚簇索引和非聚簇索引 mysql索引总结(4)-M ...
- MySql索引要注意的8个事情
设计好MySql索引可以让你的数据库查询效率大为提高.设计MySql索引的时候,有一些问题需要值得我们注意的: 1,创建MySql索引 对于查询占主要的应用来说,索引显得尤为重要.很多时候性能问题很简 ...
- MySQL索引的创建、删除和查看
MySQL索引的创建.删除和查看 此文转自http://blogold.chinaunix.net/u3/93470/showart_2001536.html 1.索引作用 在索引列上,除了上面提到的 ...
- MySQL索引的创建,查看,删除
在执行CREATE TABLE语句时可以创建索引,也可以单独用CREATE INDEX或ALTER TABLE来为表增加索引. 1.ALTER TABLE ALTER TABLE用来创建普通索引.UN ...
随机推荐
- 7、srpingboot改变JDK版本
在pom.xml中加上 <plugin> <artifactId>maven-compiler-plugin</artifactId> <configurat ...
- 读EntityFramework.DynamicFilters源码_心得_设计思想_04
前几次,我们从说明文档,示例,单元测试了解了怎么用这个动态过滤器,那么如果仅仅是为了实现目的,知道怎么用就可以完成相应的功能开发,但我还想了解的问题是 作者是怎么将动态过滤器与EF结合的 有哪些设计思 ...
- 自定义控件实现-今日头条Android APP图集效果
前提 产品有个新需求,类似今日头条的图集效果 大致看了下UI,大致就是ViewPager,横向滑动切换图片,纵向滑动移动图片,纵向超过一定距离,图片飞出,图集淡出动画退出,支持图片的双击放大. 思路 ...
- Android-多线程Handler
http://www.cnblogs.com/plokmju/p/android_Handler.html android不允许在主线程里做耗时操作,如网络操作,以此来避免ANR ANR(Applic ...
- 爬虫之Beautifulsoup的基本实用
基本方法如下: # soup.a 只能找到第一个符合要求的标签 # soup.a.attrs 获取a所有的属性和属性值 # soup.a.attrs['href'] 获取href属性 # soup.a ...
- ef使用dbfirst方式连接mysql
1.安装 mysql connector net 6.9.9 https://dev.mysql.com/downloads/file/?id=463758 和mysql for visual st ...
- SharePoint 2013 - REST API about Security
1. 获取当前用户信息(current user): var currentUserInfo = "{0}/_api/Web/CurrentUser"; // {0} -> ...
- CefSharp开发
CefSharp是用chromium内核开发的.net版本浏览器工具.目前只支持X86模式.所以在调试的时候要把平台改为X86 CefSharp开发指引:https://ourcodeworld.co ...
- WCF安全 z
WCF custom authentication using ServiceCredentials The generally accepted way of authenticating a us ...
- x64 QWORD Xor shellcode encoder
#!/usr/bin/env python #Filename: Xor_QWORD_x64.py #coding=utf-8 import re import sys import random i ...