整理数据库日常问题处理方法_杜振强实践内容

select from information_schema.processlist where INFO is not null and INFO not like ‘select from information_schema.processlist%‘ order by time,db \G

用来查看一些执行时间比较长的sql,根据执行时间递增排序

show engine innodb status\G
可以用来查看死锁,事务执行状态,锁等待等信息

userstat相关监控命令:
flush USER_STATISTICS;
flush TABLE_STATISTICS;
set global long_query_time=0;
flush logs;
show processlist;

select from information_schema.USER_STATISTICS where user not in(‘admin‘,,‘monitor‘,‘#mysql_system#‘)\G
select
from information_schema.TABLE_STATISTICS where table_name not in (‘mysql‘,‘db‘)\G

数据库延迟处理:
1.数据库延迟情况可能如下:a.主库执行一个大的修改数据的SQL导致;b.主库并发写入量突增;c.从库上的查询或者其它操作导致磁盘io或者cpu瓶颈或者锁;d.从库硬件问题导致性能很低
2.处理:
a.让研发知晓情况,并建议将大的操作拆成小的操作,避免再次出现
b.如果经常出现,因主从不可以扩展写,那就找RD沟通确认,业务上不能控制写入的话,就准备拆库操作
c.通知RD相关情况,如果是必须的sql,可以讲这些sql放到专门的统计库上执行,调高报警阈值解决,否则让研发拆分或者下线sql。如果是锁例如是MDL,这需要kill掉相应的查询后释放锁来解决。
d.如果还有从库,可以考虑停机修复该从库,如果没有,需要紧急重新部署一台新从库后进行修理

杀掉匹配某个sql的连接
pt-kill --match-command Query --busy-time 5 --host dbxx --port 5002 --interval --print --kill --victims all --match-info="select distinct(Issue_label)"

杀掉正在进行filesort的sql
pt-kill --match-command Query --match-state "Sorting result" --busy-time 5 --host *.*.. --port 5002 --interval 2 --print --kill --victims all -uduzq -p

原文地址:https://blog.51cto.com/1348916/2444368

时间: 2024-10-17 07:44:11

整理数据库日常问题处理方法_杜振强实践内容的相关文章

Oracle ASM数据库日常管理维护_超越OCP精通Oracle视频课程培训25

oracle视频教程目标  Oracle视频教程,风哥本套oracle教程培训学习ASM基础知识,ORACLE单机与RAC的ASM安装配置说明,ORACLE单机与RAC ASM启动与关闭,图形界面和命令行下ASM磁盘组的创建与维护,ASM环境下的表空间管理,ASMCMD管理工具介绍,配置ASM监听实现远程连接管理,同机迁移数据库从ASM磁盘至文件系统,异机迁移数据库从文件系统至ASM磁盘等. 适用人群IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以.  视频在线学习地址:

Oracle 数据库日常巡检

Oracle 数据库日常巡检 阅读目录 1. 检查数据库基本状况 2. 检查Oracle相关资源的使用情况 3. 检查Oracle数据库备份结果 4. 检查Oracle数据库性能 5. 检查数据库cpu.I/O.内存性能 6. 检查数据库安全性 7. 其他检查 回到顶部 1. 检查数据库基本状况 包含:检查Oracle实例状态,检查Oracle服务进程,检查Oracle监听进程,共三个部分. 1.1. 检查Oracle实例状态 select instance_name,host_name,sta

PHP备份数据库的原理和方法 57

1.PHP备份数据库的原理查找所有表--查找所有字段(需要列出所有字段名, 字段类型等相关信 息)---查找所有数据(读取数据出来注意 特殊符号的转换 addslashes ())--生成SQL(把数据格式化 生成对应的SQL)通过相关函数输出SQL相关信息,并格式化后生成文件,保存!2.PHP中mysql相关函数mysql_list_tables() 表查询函数,类似mysql_query() 函数 mysql_fetch_field() 字段信息函数,返回句柄 Name 字段的名称 Tabl

MySQL数据库参数调优方法

怎么配置MySQL服务器,但考虑到服务器硬件配置的不同,具体应用的差别,那些文章的做法只能作为初步设置参考,我们需要根据自己的情况进行配置优化,好的做法是MySQL服务器稳定运行了一段时间后运行,根据服务器的”状态”进行优化. 注:参数的调整可以通过修改 /etc/my.cnf 文件并重启 MySQL 实现.这是一个比较谨慎的工作,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改. mysql> show global status;  可以列出MySQL服务器运行各种状态值,另外,查

MySQL数据库mysqlcheck的使用方法

MySQL数据库mysqlcheck的使用方法的相关知识是本文我们主要要介绍的内容,我们知道,mysqlcheck,是mysql自带的可以检查和修复MyISAM表,并且它还可以优化和分析表,mysqlcheck的功能类似myisamchk,但其工作不同. 主要差别是当mysqld服务器在运行时必须使用mysqlcheck,而myisamchk应用于服务器没有运行时. 使用mysqlcheck的好处是不需要停止服务器来检查或修复表. 使用myisamchk修复失败是不可逆的. 1 mysqlche

[转] oracle 数据库 SQL plus 连接方法

http://hi.baidu.com/zzy382/item/a5b197f97a38e01ba7298832 之前电脑上安装了一个 Oracle  有一段时间没用,就把密码给忘了,按上面链接里的操作,重置密码成功,步骤如下: connect system/oracle以 system 用户 oracle 密码连接 在进入 sql plus 界面后输入 / as oraclesys 回车即以管理用户登录.然后读取 dba_users 表内容可以 alter user system identi

sql server数据库可疑状态解决方法

前段时间客户数据服务器断电,开机后发现数据库状态标记为可疑,可能是断电引起的数据库日志文件损坏,修复方法如下: 只有mdf文件,重建日志: 1 --注:example为测试用数据库,相应的Example_log.ldf为测试用的日志文件 2 use master 3 go 4 alter database example set emergency 5 go 6 --置数据库为单用户模式 7 alter database example set single_user with rollback

C++连接mysql数据库的两种方法

现在正做一个接口,通过不同的连接字符串操作不同的数据库.要用到mysql数据库,以前没用过这个数据库,用access和sql server比较多.通过网上的一些资料和自己的摸索,大致清楚了C++连接mysql的方法.可以通过2种方法实现. 第一种方法是利用ADO连接, 第二种方法是利用mysql自己的api函数进行连接. 第一种方法可以实现我当前的需求,通过连接不同的字符串来连接不同的数据库.暂时只连接了mysql,sqlserver,oracle,access.对于access,因为它创建表的

数据库出错的解决方法

1.SQLServer2008数据库sa账户登录127.0.0.1失败 http://wenku.baidu.com/link?url=FiTOMHmOBYJp3LFKYFuHNN2uHn_00zSVbVLgudRa9QA2usB5liFjQbKah4F9GcqUfgWQiMfxDwx9-6kyFnAaaTd9PR72S-ZOuKR_CxJxETW&qq-pf-to=pcqq.c2c 2.SqlServer配置管理器中的sql服务    远程过程调用失败 http://wenku.baidu.c