京东数据库运维自动化体系建设之路

运维自动化来源于工作中的痛点,京东数据库团队面对的是商城成千上万的研发工程师,这种压力推动我们不断变革,然而变革不是一蹴而就,也经历过从手工到脚本化、自动化、平台化、智能化的艰难转变,所以说是需求在驱动运维体系的建设,而运维自动化的真谛在于解放运维人员,促进人率提升,减少人为故障,要学会培养自己“懒”这个好习惯。京东的自动化运维体系建设始于2012年,下面从两个方面进行介绍。1.京东数据库智能运维

置顶 原创 推荐 点赞101 阅读10000+ 收藏13 评论29 2018-09-04

MySQL 8.0用户和角色管理

MySQL8.0新加了很多功能,其中在用户管理中增加了角色的管理,默认的密码加密方式也做了调整,由之前的sha1改为了sha2,同时加上5.7的禁用用户和用户过期的设置,这样方面用户的管理和权限的管理,也增加了用户的安全性。MySQL8.0中,mysql库中表的文件合并到数据根目录中的mysql.ibd中(MySQL8.0Innodb引擎重构)。同时MySQL8.0可以使用SETPERSIST动态

置顶 原创 点赞0 阅读10000+ 收藏0 评论0 2018-07-10

京东MySQL数据库主从切换自动化

1. 产生背景随着京东业务的高速增长,数据的重要性对于京东来说重要程度不说自明,在信息时代,数据有着比人们更大的力量,数据库的价值可见一斑,数据库的存在为人们提供了更快的查询,那么为了更好地做到数据库的高可用,保证持续提供服务,简化DBA操作,节省数据库故障切换的时间,故开发此数据库主从切换自动化系统。2. 实现原理此系统基于MHA做数据库切换,结合京东数据库切换的特点,定制自己的切换系统。MHA

置顶 原创 推荐 点赞10 阅读10000+ 收藏14 评论6 2017-01-10

MariaDB10.0实例部署和多源复制配置

MariaDB10.0实例部署和多源复制配置一、部署MariaDB10.0.171、MariaDB下载和简单说明当前MariaDB支持多源复制的版本为10.0的版本,最新稳定版本为10.0.17,下载连接为:http://mirrors.opencas.cn/mariadb/mariadb-10.0.17/source/mariadb-10.0.17.tar.gz。MariaDB和PerconaD

置顶 原创 推荐 点赞9 阅读8352 收藏3 评论4 2015-03-23

python调用zabbix的api接口添加主机、查询组、主机、模板

   zabbix有一个API接口,可以调用这些几口来自动添加主机,查询zabbix中监控的主机,监控的模板、监控的主机组等信息,使用也非常的方便。以下是用python调用zabbix的API接口来实现上述功能:#!/usr/bin/env python # -*- coding: utf-8 -*- import json import urllib2 import

置顶 原创 推荐 点赞9 阅读10000+ 收藏2 评论9 2013-07-15

mysql5.6主从参数详解

   mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解。######################################### server_id = 2 #binlog log-bin = /data1/mysql/binlog/binlog binlog_fo

置顶 原创 推荐 点赞7 阅读7237 收藏4 评论4 2013-05-21

zabbix监控添加主机,报警、监控的设置

根据使用zabbix这么久的经验,总结了一套zabbix比较实用的添加主机、监控报警的使用流程,供大家参考。一:添加处理方法,就是如何报警   打开zabbix的管理------处理方法----create media type:   我用的是脚本发邮件的方式来报警的,脚本名字为mail.py。指的一提的是脚本存放位置,我的脚本是放在/usr/local/zabbix/bin

置顶 原创 推荐 点赞11 阅读10000+ 收藏3 评论11 2012-11-02

通过修改源码突破zabbix单server监控数量

最近业务的快速增长,zabbix监控的VPS(Required server performance, new values per second)早已超过六位数,这也许是达到他的单server最大吞吐量。而zabbix server的CPU负载、内存使用率、网络IO、磁盘IO、MySQL的QPS等关键性能指标都不高(主要是server服务器的配置较高:64c/128G内存/SSD硬盘),这也许是

原创 点赞1 阅读622 收藏1 评论0 2021-03-29

大话MySQL之爱恨情仇

在数据库的发展过程中,安全-->稳定-->高效-->低成本四个有序的要点一直如影随形,后者离开前者就是空谈。10月19日晚上MySQL发布了8.0.22版本,其中一个新功能(AutomaticconnectionfailoverforAsyncReplicationChannels)引起我的注意,也很感兴趣,作为一个DBA老兵,百感交集,在过去的20多年,故障切换功能一直是三方后

原创 推荐 点赞1 阅读4569 收藏1 评论1 2020-10-20

MySQL5.6升级5.7时,出现主从延迟问题排查过程

最近在做zabbix的数据库MySQL5.6升级5.7时,出现主从延迟问题,这个问题困扰了很久没有解决,昨天终于解决了,整理了一下整个排查过程,分享给大家。环境说明:mysql主库为5.6的版本,有四个从库,三个为5.6的版本,一个为5.7的版本,所有主从的库表结构均一致,5.7的从库出现大量延迟,5.6的没问题,业务为zabbix监控,基本全部为insert批量插入操作,每条insertSQL插

原创 推荐 点赞2 阅读5173 收藏3 评论2 2020-09-01

MySQL8.0(截止8.0.21)新特性汇总

默认字符集由latin1变为utf8mb4在8.0版本之前,默认字符集为latin1,utf8指向的是utf8mb3,8.0版本默认字符集为utf8mb4,utf8默认指向的也是utf8mb4。注:在PerconaServer8.0.15版本上测试,utf8仍然指向的是utf8mb3,与官方文档有出入。MyISAM系统表全部换成InnoDB表系统表全部换成事务型的innodb表,默认的MySQL实

原创 点赞1 阅读4242 收藏0 评论1 2020-05-15

配置参数innodb_flush_log_at_trx_commit丢失数据问题

数据丢失的定义:当事务提交了,数据因为特殊原因不存在了。MySQL默认情况下是开启内部的XA事务和事务的实现方式是基于redolog和undolog。也可以理解为MySQL事务是采用日志现行的策略。前提未开启binlog的情况下,数据的变更首先在内存中完成,并且将事务顺序的写入到redolog中,即表示该事务已经完成,就可以返回发给客户端已提交的信息。但此时变更后的数据还在内存中,并没有刷新写入到

原创 点赞0 阅读4695 收藏0 评论0 2020-04-15

未来数据库发展畅想

突发奇想,对于数据库,想到了一些有意思的事情和功能,算是对未来数据库发展的一种畅想吧,期待未来有实力的公司或是科研机构能真正实现。一:分布式操作系统---永动机型操作系统聊数据库,先要说说操作系统,毕竟数据库要安装部署在操作系统上。目前应用服务常见的硬故障分为电源、CPU、硬盘、内存、网络等,这些都是常见的、不可抗拒的故障。非分布式操作系统下,各个服务器资源不能最大化的得到合理利用,即使是现在的K

原创 点赞0 阅读4032 收藏0 评论0 2019-12-19

zabbix的数据库优化

走zabbix的1.6版本开始测试,1.8的版本开始线上使用,线上使用过1.9、2.0、2.2、3.0、4.0的版本,使用或是测试过zabbix1.6之后的所有版本。个人也有之前的SA转变为DBA,就zabbix的运维走数据库层面有一些自己的心得,希望对读者有所帮助。1:MySQL版本推荐MySQL5.7及以上版本,便捷的在线DDL方便zabbix的快速升级链接数据库方式:zabbix的serve

原创 点赞1 阅读2351 收藏1 评论0 2019-12-12

运维视角下MySQL常用的监控项

MySQL的性能和负载情况有很多指标,各个版本的指标也有区别,但核心的、对运维可以快速定位的指标就那几个常用的。做一个监控系统,特别是海量数据库实例的监控系统个,每多一个监控指标,对监控系统的要求就会更高。还有对于不同人员的监控,监控的指标和频率也是不一样的,运维人员、研发人员、测试人员,使用监控的角色不同,需要的监控指标也不同。不是监控的指标越多越好,够用就行,监控指标很多,只监控平时用的,不用

原创 点赞0 阅读2159 收藏1 评论0 2019-10-31

MySQL延迟问题和数据刷盘策略

一、MySQL复制流程官方文档流程图如下:1、绝对的延时,相对的同步2、纯写操作,线上标准配置下,从库压力大于主库,最起码从库有relaylog的写入。二、MySQL延迟问题分析1、主库DML请求频繁原因:主库并发写入数据,而从库为单线程应用日志,很容易造成relaylog堆积,产生延迟。解决思路:做sharding,打散写请求。考虑升级到MySQL5.7+,开启基于逻辑时钟的并行复制。2、主库执

原创 推荐 点赞7 阅读10000+ 收藏6 评论2 2019-07-02

Amazon Aurora:高吞吐量的云原生关系数据库的设计考量

译者:Aceking,极数云舟技术合伙人,数据库内核研发专家,负责企业级云原生数据库ArkDB等核心数据库产品,华中科技大学计算机系数据库方向研究生毕业,原达梦数据库产品研发工程师,负责达梦数据库内核开发,长期致力于数据库原理和源码开发,精通C/C++,公司内部流传有他的名言:以后再也不敢说精通C++了。摘要AmazonAurora是亚马逊网络服务(AWS)的一个组成部分,对外提供一个OLTP负载

翻译 点赞3 阅读7108 收藏2 评论0 2019-04-23

从一个线上问题分析binlog与内部XA事务提交过程

1.问题业务上新增一条订单记录,用户接收到BinLake拉取的MySQL从库数据消息后,马上根据消息内的订单号去查询同一个MySQL从库,发现有些时候无法查到该条数据,等待大约500ms~1000ms后再去查询数据库,可以查询到该条数据。注:BinLake为京东商城数据库技术部自研的一套订阅和消费MySQL数据库binlog的组件,本例所描述的问题是业务方希望根据订阅的binlog来获取实时订单等

原创 点赞1 阅读6011 收藏1 评论0 2018-11-29

MySQL内核源码解读-SQL解析之解析器浅析

MYSQL服务器接收SQL格式的查询,首先要对sql进行解析,内部将文本格式转换为二进制结构,这个转换就是解析器,解析的目的是为了让优化器更好的处理指令,以便以最优的路径,最少的耗时返回我们想要的结果。sql解析器的构成:1、词法分析(Lexicalscanner):作用是将整个查询分解为多个元素。2、语法规则(Grammarrulemodule):寻找sql语法规则组合,产生一个序列,执行这些规

原创 点赞1 阅读7940 收藏0 评论0 2018-10-17

MySQL内核源码解读-SQL解析一

本文是基于MySQL5.7.22进行分析1.SQL总体执行流程图通过上面图,可以从全局上了解SQL语句执行流程以及与其他模块交互1.1SQL查询执行流程2.语法解析2.1编程语言知识回顾在介绍具体的MySQL数据库解析SQL之前,先来回归一下编程语言的知识点形式语言(Formallanguage)形式语言是用精确的数学或机器可处理的公式定义的语言,个人理解形式语言就是符号化的语言,比如编程语言(C

原创 点赞2 阅读10000+ 收藏3 评论1 2018-10-15

MySQL8.0新增配置参数详解

MySQL8.0新增或改进了数据字典、原子DDL、安全和账户、资源管理、InnoDB增强、字符集支持、JSON增强、字段类型支持、优化器、通用表达式、窗口函数、正则表达式支持、内部临时表、日志、备份锁等特性,MySQL本身是一个配置比较多比较复杂的数据库,那么新的版本中有哪些参数项是新增的用来控制这些新特性的使用那?接下来我们对新增的配置项进行逐一分析。activate_all_roles_on

原创 点赞2 阅读10000+ 收藏2 评论4 2018-10-09

MySQL InnoDB redo Log 浅析

MySQL的InnoDB存储引引擎的物理文件存储体系中,除了实际的数据文件(ibd,ibdata)之外,还有两个非常重要的日志系统,分别是redo日志和undo日志。跟Oracle类似,redolog记录了对实际数据文件的物理变更(数据文件的什么位置数据做了如何的变更)。InnoDB也是采用了WAL(日志优先落盘),也就是说在实际数据文件的修改落盘之前redo日志已经落盘,从而来保证事务的持久性。

原创 点赞1 阅读10000+ 收藏4 评论1 2018-09-29

MySQL5.6、5.7、8.0在线DDL对比情况

MySQL5.6的版本之后支持了在线DDL,这对于DBA来说是个福音,但是MySQL5.6、5.7和当前的最新版本8.0在各种DDL中的情况不太一样,根据MySQL官方网站的说明整理一份在线DDL的对比情况,具体如下:

原创 点赞0 阅读8695 收藏0 评论0 2018-08-07

一种zabbix server扩容改造方案

本文原创作者鲍光亚,京东商城基础平台部软件开发工程师,经作者同意发表于本人博客,如需转载需经本人同意。一、引言随着监控量的迅速增长,zabbix管理员有一天会发现硬盘iops达到了数万,接近硬盘io的极限,无力支持处理更多监控数据。本文提出一种横向扩展方案,以尽量小的改动,增加zabbix系统的数据io能力。考虑到zabbix的数据库io主要在于history表和trends表,这一方案是在不增加

原创 点赞2 阅读8735 收藏1 评论0 2018-03-08

京东发布MySQL Group Replication官方文档中文版

MySQL Group Replication(简称MGR)是MySQL官方于2016年12月推出的一个全新的高可用与高扩展的解决方案。MySQL组复制提供了高可用、高扩展、高可靠的MySQL集群服务。高一致性,基于原生复制及paxos协议的组复制技术,并以插件的方式提供,提供一致数据安全保证;高容错性,只要不是大多数节点坏掉就可以继续工作,有自动检测机制,当不同节点产生资源争用冲突时,不会出现错

翻译 推荐 点赞9 阅读10000+ 收藏1 评论4 2017-03-16

SSD硬盘配置最佳实践

本文原创作者杜霆,京东商城基础平台部MySQL DBA,经作者同意发表于本人博客,如需转载需经本人同意。一、测试背景服务器升级SSD后,速度和性能没有得到应有的提升,原因是没有正确使用SSD,主要是raid、linux、mysql数据库等相关参数没有正确的配置,本文对SSD的相关参数进行了对比性能测试,根据相关资料以及测试结果得出相关结论,了解实用场景以及对应优势。二、测试环境主机:172.20.

原创 点赞1 阅读10000+ 收藏4 评论1 2017-03-01

MySQL Group Replication调研剖析

一、MySQL复制的三种模式MySQL当前存在的三种复制模式有:异步模式、半同步模式和组复制模式,先了解一下三种模式的工作方式。1、MySQL Asynchronous Replication(异步复制)异步复制是MySQL最早的也是当前使用最多的复制模式,异步复制提供了一种简单的主-从复制方法,包含一个主库(master)和备库(一个,或者多个)之间,主库执行并提交了事务,在这之后(因此才称之为

原创 推荐 点赞3 阅读10000+ 收藏1 评论3 2017-01-22

Zabbix数据结构及并行计算实现

本文原创作者鲍光亚,京东商城基础平台部软件开发工程师,经作者同意发表于本人博客,如需转载需经本人同意。一、 前言我部门对数据库的监控使用的是开源的Zabbix系统,目前监控了上万台主机。本文旨在通过分析Zabbix系统server端的数据结构和并行计算的实现方法,尝试探寻Zabbix系统server端的潜在扩展能力,同时希望有助于在实际应用过程中进一步优化运行效率和稳定性。Zabbix系统采用se

原创 推荐 点赞2 阅读4364 收藏2 评论2 2017-01-11

MySQL5.7之Json Column和Generated Column

MySQL5.7新增两种字段类型:Json和Generated,Generated型的产生和Json的关系密不可分,如果没有Generated类型,Json类型在强大,生产中可能也无法使用,因为Json不支持索引,但是如果要查询Json里的数据,没有索引就是全表扫描,在执行效率上肯定是不能用于生产环境的,但是有了Generated类型就不同了,Generated类型简单地说是一个虚拟字段,值是不可

原创 点赞1 阅读10000+ 收藏0 评论1 2016-12-07

京东MySQL监控之Zabbix优化、自动化

随着京东业务的飞速发展, MySQL数据库的使用更加普及、服务器量级飞速增长,这对京东MySQL DBA团队的要求也越来越高。监控系统为数据库管理和维护提供了精确的数据依据,是数据库运维人员的千里眼和顺风耳。准确、及时、有效的监控,能够使运维人员对生产服务系统运行情况了如指掌。通过分析获得的监控信息,判断被监控数据库的运行状态,对可能出现的问题进行预测,可以及时制定出适当的优化方案,从而保证整个系

原创 推荐 点赞22 阅读10000+ 收藏46 评论5 2016-08-02
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
写文章