pt-query-digest日志分析工具pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlog、General log、slowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、
pt-online-schema-change在线改表工具开发部分pt-online-schema-changept-online-schema-change 模仿MySQL修改内部表的方法,不过它是通过创建新表并复制数据.也就是说,原始的表不会被锁,客户端可以持续的读写数据. 根据原表创建一个新的空表,并按需求修改.然后从原表向新表复制数据.当复制完成时,挪走原始表,并用新表代替.默认
pt-table-sync修复主从不一致pt-table-sync简介顾名思义,它用来修复多个实例之间数据的不一致。它可以让主从的数据修复到最终一致,也可以使通过应用双写或多写的多个不相关的数据库实例修复到一致。同时它还内部集成了pt-table-checksum的校验功能,可以一边校验一边修复,也可以基于pt-table-checksum的计算结果来进行修复。工作原理1. 单行数据checksu
xtrabackup备份工具 下载地址 https://www.percona.com/downloads/XtraBackup/LATEST/ Xtrabackup有两个主要的工具:xtrabackup、innobackupex 1、xtrabackup只能备份InnoDB和XtraDB两种数据表,而不能备份MyISAM数据表 ,不能
codis迁移槽位遇到value过大的数据导致redis进程堵塞问题问题背景:2016-11-08 下午,咨询codis开始迁移槽位。迁移过程中dba发现group1中redis无法连接,proxy进程异常退出且无法重启。当redis可以正常连接时dashboard展示为:而问题发生时此redis是不可连接的,Keys无法显示正确显示,只显示Nan。 proxy进程异常退出会收到微信报
redis主从复制同步数据死循环问题发现现象:最近有问必答codis一个从库端口6504一直时不时,主从延时和从库连接不上的报警,开始怀疑是redis备份导致,没有深入去找原因,后面发现白天也在报警,故深入排查了一下原因。host: 10.20.1.4port: 6504idc: KDDIrole: redis_sitem: r_replicationcurrent: 32767last: 1 m
Club数据库基于时间点单表恢复案例发现问题:DBA于2016-05-20发现club数据库出现sql注入现象,如下图此时数据库中数据已经被全部替换了,具体数据如下可以看到nickname,realname都已经被修改,这是业务已经收到影响需要对数据进行恢复。解决方案:1、找到当天备份,并将备份文件直接启动。启动时注意调一下配置文件中的server-id,避免与线上从库冲突2、通过mysqlbin
一、背景 2016-08-01发现3650专家网双主中断,问题原因是因为主键冲突,这时候使用 SET GLOBAL SQL_SLAVE_SKIP_COUNTER 解决问题的时候,产生了一些疑问,下面是问题总结。二、SET GLOBAL SQL_SLAVE_SKIP_COUNTER = N说明 官方解释:This
mysql mysql_upgrade主从升级造成的1580错误版本升级5.1.68->5.5.38发现问题:从库先升级,然后升级主库;升级完成后从库主从同步出现1580错误,如图:分析问题:是mysql_upgrade内包含了alter等语句会记录到binlog中再到备库执行。先选择在主库执行命令进而导致了这个错误:在从库执行" show slave status\G;"则会看到关于slo
1数据库在默认情况下是不开启 sql_mode 的服务器可以运行不同的sql mode ,设置sql_mode 的系统变量, 根据不同客户设置不同的sql mode 。dba可以设置全局的sql mode 应用于整个数据库。 每个应用程序可以设置其会话的sql mode 满足自身的需求。sql mode 影响mysql对sql语句的支持和验证检验sql执行的数据。查看sql_mode的设置全局 S
有很多时候,我们会希望一条SQL语句只在Master数据库上执行,而不复制到Slave数据库,这时候,sql_log_bin这个参数就正是你需要的。例如,我们希望将数据只导入主库,但Slave数据库保持不变,我们就可以这样操作:master mysql>set sql_log_bin=0;master mysql>source xxoo.sql;使用这个参数是需要注意几点:1,本命令只
InnoDB存储引擎可以将一条记录中的某些数据存储在真正的数据页面之外。一般认为BLOB,LOB这类的大对象类型会把数据存放在数据页面之外。但是,这个理解有点偏差,BLOB可以不将数据存储在溢出页面,而且即便是VARCHAR列数据类型,依然有可能被存放为行溢出数据。首先对VARCHAR数据类型进行研究。很多DBA喜欢MYSQL数据库提供的VARCHAR,因为相对于ORACLE VARCHAR2最大
MySQL数据表中内容大小写区分的设置今日hadoop部门,有新的需要根据内容大小写过滤数据。需求如下:select * from mnb;+----+------+| id | name |+----+------+| 1 | mnb || 2 | MNB |+----+------+2 rows in set (0.00 sec) select * from mnb where na
MySQL主从卡库问题分析1、slave_load_tmpdir 文件夹权限问题造成的卡库 1、 发现问题 做双主从时,因为老主库缺没有这个库和表,需要新建库和表。 &nbs
MySQL主从同步部分库跨库问题排查分析问题:使用复制是设置 Replicate_Do_DB 参数发现跨库操作时从库数据不更新 1 设置从库的 replicate_do_db = test2 主库的sql语句是跨库的insert 在test7 上插入数据到test.a 的表上。 use
MySQL主库大表执行delete语句,Ctrl+C具体发生了什么分析1、查看表结构localhost.qt>show create table doctor_stats_backup\G*************************** 1. row ***************************Table: doctor_stats_backupCreate Table: C
MySQL字符类型存放不同字符所占字节问题确认 通过官方文档可知一行最多存65535个字节。 utf-8 字符测试1 建表 一个汉字在utf-8中占3个字节通过计算65535/3 可以得出每行最多存21845,建表 创建失败 原因是varchar(N)的前两个字符是表是varchar的长度。字符为空时存储是从第二位是从第2位开始,也就是N=(65535-2
Seconds_Behind_Master不准确问题 Seconds_Behind_Mas析ter解 1. Seconds_Behind_Master说明:通过show slave status查看到的Seconds_Behind_Master,从字面上来看,他是slave落后master的秒数,一般情况下,也确实这样,我们可以通过Sec
1、报警内容:[seconds_behind_master] [INSERT LOW_PRIORITY IGNORE INT]2、登录数据库show slave status\G;发现从库延迟已经为0!3、问题分析:1)由标题可见导致延迟的主要直接原因是INSERT,检查邮件SQL中是否带有/*pt-online-schema-change 102937 c
关于MySQL隐式转换一、如果表定义的是varchar字段,传入的是数字,则会发生隐式转换。 1、表DDL2、传int的sql3、传字符串的sql仔细看下表结构,rid的字段类型: 而用户传入的是int,这里会有一个隐式转换的问题,隐式转换会导致全表扫描。把输入改成字符串类型,执行计划如下,这样就会很快了。此外,还需要注意的是:数字类型的0001等价于1字符串的0001和1不
总想做点什么却什么都做不好,把笔记里的文章贴出来吧 ,以后要好好经营博客了。
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号