在使用pt-online-schema-change做线上DDL的时候对于数据量比较小的表问题不大,但是对于数据量比较大的表(比如:单表2亿数据)访问量较大的时候就有可能出现异常, 原本使用pt-online-schema-change就是为了线上不锁表操作,但是对于数据量 比较大的表会出现主从延迟比较大,锁表等现象, 研究了下官方文档,文档里面对相关的操作有说明,详细的可以参考下: 官网地址: https://www.percona.com/doc/percona-toolkit/2.1/pt…
最近在线上发现很多性能有问题的sql,开发写sql语句的时候,没充分考虑是否用上索引了,所以这个坑得DBA来填,好了,废话不多说,把一些线上的优化经验跟大家分享. 由于是线上的表,所以就不公开具体的表结构了,请大家体谅,我会模拟一个类似的表来说明当时的性能问题: 当时的表结构类似此表: mysql> show create table test\G . row *************************** Table: test Create Table: CREATE TABLE `…
会议信息 因编译作业ddl,暂时没有大进展,没有close的issue 时间:2016.11.07 19:00 时长:10min 地点:讨论组 类型:线上会议 NXT:2016.11.08 21:30 个人任务报告 姓名 今日已完成Issue 明日计划Issue 工作困难 今日工作时长 岳桐宇 完成后端脚本接口对接 前端对接 无 3 冯炜韬 整理会议记录,准备展示 整理会议记录,布置下一次任务,整理近日工作要点及意义,以便汇报 无 3 杨子琛 完成之前没完成的脚本,与岳桐宇完成对接,完成部分测试…
使用percona-xtrabackup实现对线上zabbix监控系统数据库的主从同步 业务背景: zabbix3.0.4是业务的主要监控,部署在一台单机中,为避免数据丢失先对其做数据主从同步,因主数据库已经运行了一段时间,数据量大概有10G左右为快速实现主从,使用percona-xtrabackup工具进行备份和恢复 master db: 操作系统: centos7.2 x86_64 mysql: mariadb 5.5.47 通过yum安装的mariadb(yum -y install ma…
首先,第一反应理所当然的是profile : <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tx="http://www.sprin…
It is great to be able to build small utilities on top of an excellent RDBMS. Thank you MySQL. This is a small but complex utility to perform online schema change for MySQL. We call it OSC and the source is here. Some ALTER TABLE statements take too…
介绍 从系统管理员或 DBA 的角度来讲, 总期望将线上的各种变更限制在一个可控的范围内, 减少一些不确定的因素. 这样做有几点好处: . 记录线上的库表变更; . 对线上的库表变更有全局的了解; . 如果有问题, 方便回滚操作; 从这三点来看, 有很多种方式可以实现, 比如通过 migrate 等工具强制所有的操作都以统一的方式执行, 这需要开发人员做更多的配合, 所以这类工具在非规模话的业务场景中较难实现; 另外管理员或 DBA 也可以通过知识库比如 redmine 等类似的方式记录变更,…
  需求变更是信息化过程中的家常便饭,而在变更过程中如何尽可能小的影响在线业务是比较头疼的事情.举个车联网监控的例子:原终端设备上传车辆的经纬度数据,新的终端设备支持同时上传速度数据,而旧的车辆状态表数据量超过亿级,此时如果Alter table add column将会造成数据表上锁,导致上传或查询车辆状态数据等待.AppBoxFuture的存储引擎在设计之初也是采用锁表的方案,后来考虑到上述应用场景决定支持online schema change,但带来了另一个难题是如何保证分布式环境下的一…
线上查询及帮助 - man.help 1.man:获取命令的帮助信息 man命令的简单介绍 man命令是Linux系统中最核心的命令之一 ,因为通过它可以查看其它Linux命令的使用信息.当然了 ,man命令不仅可以查看命令的使用帮助 ,还可以查看软件 服务配置文件.系统调用.库函数等的帮助信息. man命令的功能说明 man命令用于查看命令的帮助信息. man命令的语法格式 man [参数选项] 命令/文件 man命令的选项说明 man 选项不常用,此处省略. man命令的实践操作 范例1:使…
是否为线上库的备份而烦恼过,这里提供一个完整的备份从属数据库的备份方案,亲测可用 说明: 备份从库,按周计,每周进行一次全备 每周一的早上六点进行全备,其他时间备份中继日志 在从库上启用rsync服务,用于异地备份 在本地服务器使用rsync命令定时同步数据库的备份 此备份可用于为Master添加新的Slave,也可以用于还原Master 一.服务器端配置 1. Python编写的备份脚本 root@DBSlave:~# cat /scripts/mysql_slave_backup.py #!…