- 博客(51)
- 资源 (5)
- 收藏
- 关注
原创 pt-table-checksum- 主从MySQL数据一致性校验
工作上需要把一个从库提升为主库,但对从库和主库的数据一致性不能保证一样,所以就利用pt-table-checksum 工作来检查主从的一致性,操作前需要注意的事项: (1)在有些情况下,recursion-method如果不设会报错:Diffs cannot be detected because no slaves were found. 其参数有四:proc
2017-12-15 20:35:37 1160
原创 MySQL水平分割案例
水平分割:根据一列或者多列的值把数据行放到多个独立的表里,水平分表方式可以通过多个低配置主机整合起来,实现高性能。根据公司的业务,两套重复的架构,部署在不同的IDC上,需要对数据进行合并操作,数据库采用水平方式实现业务数据的存储,如架构图:说明:路由表A作用:md5key作为分表策略的依据,对md5key值进行取模运算,需要把数据写入具体表位置。一般对于业务需求,可
2017-12-15 20:34:09 886
原创 RAID磁盘阵列的原理与搭建
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)可以提供较普通磁盘更高的速度、安全性,所以服务器在安装时都会选择创建RAID。 RAID的创建有两种方式:软RAID(通过操作系统软件来实现)和硬RAID(使用硬件阵列卡);在企业中用的最多的是:raid1、raid10和raid5。不过随着云的高速发展,供应商一般可以
2017-12-15 20:32:58 1313
原创 MYSQL事务和锁
Atomic,同一个事务里,要么都提交,要么都回滚Consistency,即在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏Isolation,并发事务间的数据是彼此隔离的,通过锁的方式来实现。Durabiliy,事务提交后,所有结果务必被持久化REDO UNDOINNODB记录逻辑的操作。INNODB原理: 事务提供一种机制将一个活动
2017-12-15 20:32:13 1175 2
原创 数据的还原操作mixed和row的操作
MySQL备份策略:全备+增量备份主要包括以下几个步骤:1、开启BINLOG服务2、使用MYSQLDUMP对数据库进行完全备份3、使用flush logs指令刷新创建新的2进制日志4、使用mysqlbinlog logs-bin.[0-9]* |mysql进行增量备份的恢复一般的,假设我们周日下午3点进行了完全备份并生成备份文件full_backup_201
2017-12-15 20:30:59 639
原创 数据库优化前章
1、硬件层相关优化 1.1、CPU相关 在服务器的BIOS设置中,可调整下面的几个配置,目的是发挥CPU最大性能,或者避免经典的NUMA问题: 1、选择Performance Per Watt Optimized(DAPC)模式,发挥CPU最大性能,跑DB这种通常需要高运算量的服务就不要考虑节电了; 2、关闭C
2017-12-15 20:28:44 291
原创 MySQL到CSV几种方法
数据的导出导入,最常用的方法:导出:省资源型:mysql -e "select * from aa" -s -s >aa.txt 导入:load data infile '/tmp/user_type_2017-08-21.txt' into table aa fields terminated by '\t' ##耗资源型:
2017-12-15 20:27:02 1395
原创 pt-osc全解pt-online-schema-change
MySQL 大字段的DDL操作:加减字段、索引、修改字段属性等,在5.1之前都是非常耗时耗力的,特别是会对MySQL服务产生影响。在5.1之后随着Plugin Innodb的出现在线加索引的提高了很多,但是还会影响(时间缩短了),主要是出现了MDL锁。不过5.6可以避免上面的情况,但目前大部分在用的版本都是5.6之前的。工作原理: 模仿MySQL的alter,但不
2017-12-15 20:25:46 1145
原创 MYSQL explain详解之range
explain显示了MySQL如何使用索引来处理DML语句以及连接表,explain显示的信息可以帮助选择更好的索引和写出更优化的查询语句 2.EXPLAIN列的解释:table:显示这一行的数据是关于哪张表的type:这是重要的列,显示连接使用了何种类型。从最好到最差的连接类型为const、eq_reg、ref、range、 inde
2017-12-15 20:24:42 15586
原创 Percona XtraDB Cluster规划实施
##搭建集群的时候要学会看日志,日志很重要的,日志真的很重要一、准备工作1.1、服务器配置主机名IP地址Pxc01192.168.1.17Pxc02192.168.1.18
2017-12-15 20:23:31 432
原创 MySQL 新特性应用JSON
MySQL5.7之JSON使用MySQL 支持原生的 JSON 数据类型,列不能设置默认值从MySQL 5.7.8 开始,MySQL支持原生的JSON格式,即有独立的json类型,用于存放 json格式的数据。JSON 格式的数据并不是以string格式存储于数据库而是以内部的binary 格式,以便于快速的定位到json 格式中值在插入和更新操作时MySQL会对J
2017-12-15 20:22:06 342
原创 BINLOG之1781的问题
一次通过BINLOG恢复数据时报:ERROR 1781 (HY000): @@SESSION.GTID_NEXT cannot be set to UUID:NUMBER when @@GLOBAL.GTID_MODE = OFF场景说明:一次误删数据删除还原,直接把BINLOG文件导成SQL文件形式(mysqlbinlog mysql-bin.000020>a
2017-12-15 20:21:02 512
原创 3分钟了解Mysql空间搜GeoHash
简单介绍: Mysql 内置函数方案,适合于已有业务,新增加LBS功能,增加经纬度字段方可,避免数据迁移,在5.7.5后实现更多功能实现INNODB的空间搜方法,之前版本主要是对MYISAM的支持。 在此之前,InnoDB将几何数据存储为BLOB(二进制大对象)数据,在空间数据上只能创建前缀索引,当涉及空间搜索时非常低效,尤其是在涉及复杂的几何数据时。在大多数情况下,获得
2017-12-15 20:20:03 5847
原创 MySQL引擎特性GIS-R-TREE
MySQL引擎特性GIS-R-TREE Geohash用于代表位置的经纬度编码成一个字符串,支持WGS 84 Coordinate System MySQL支持的空间数据类型包括GEOMETRY,POINT,LINESTRING,POLYGON.其中GEOMETRY可以表示任意一种空间类型,其他几种则需要固定有效的存储格式如(MULTIPOINT, MULTILINE
2017-12-15 20:18:41 526
原创 快速实现MySQL迁移到Redis
一个简单快速的将MySQL的数据迁移到Redis中并且以hash方式存储,数据的存储需要遵守redis的通讯协议(官方连接 http://redis.io/topics/mass-insert),如: *3 CR LF //三个字段 $3 CR LF //第一个字段 ‘set’ 有3个字节 SET CR LF //字段内容set
2017-12-15 20:16:54 434
原创 PowerPivot的DAX函数实战
针对PowerPivot的DAX函数参考一、筛选函数1、ALL函数:返回表中的所有行货返回列中的所有值,同时忽略可能已应用的任何筛选器,此函数可用于清除筛选器对表中的所有行创建计算,返回删除了筛选器的表或列的值语法:ALL({ | [, [, [,…]]]})如:创建一个《度量值》订单额度 = SUMX(ALL('订单表'),'订单表'[amount])虽然X轴
2017-12-15 09:28:19 22179 1
原创 基于python+mysql+redis缓存设计与数据库关联数据处理
1、添加表CREATE TABLE tb_signin(id INT,user_name VARCHAR(10),signin_num INT ,signin_time DATETIME ,gold_coin INT );INSERT INTO tb_signinVALUES(1, 'ma', 0, NULL, 0),
2017-12-14 11:06:27 3934
原创 redis与MySQL结合
为什么要把REDIS已经持久化的数据还要插入MySQL呢,原因就不说了.....相信大神各有见解.....首先来了解基础信息:一一般来说,消息队列有两种场景:一种是发布者订阅者模式;一种是生产者消费者模式。利用redis这两种场景的消息队列都能够实现,定义:生产者消费者模式:生产者生产消息放到队列里,多个消费者同时监听队列,谁先抢到消息谁就会从队列中取走消息;即对于
2017-12-14 11:04:11 5492
原创 REDIS事务+生产者消费模型
redis对事务的支持目前还比较简单。redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。 由于redis是单线程来处理所有client的请求的所以做到这点是很容易的。一般情况下redis在接受到一个client发来的命令后会立即处理并 返回处理结果,但是当一个client在一个连接中发出multi命令有,这个连接会进入一个事务上下文,该连接后
2017-12-14 11:01:56 572
原创 REDIS数据类型详解LIST-HASH-SET-STRING
Redis目前支持5种数据类型,分别是String(字符串)List(列表)Hash(字典)Set(集合)Sorted Set(有序集合)Redis数据类型1.字符串类型SET key value 设置key=valueGET key
2017-12-14 10:59:49 956
原创 gearman实现redis缓存mysql
Gearman简介: Gearman是一个支持分布式的任务分发框架。设计简洁,获得了非常广泛的支持。一个典型的Gearman应用包括以下这些部分:1、Gearman Job Server:Gearman核心程序,以守护进程形式运行在后台2、Gearman Client:可以理解为任务的收件员,比如我要在后台执行一个发送邮件的任务,可以在程序中调用一个Gearm
2017-12-14 10:58:26 1446 1
原创 Redis新特性GEOHASH
一、简言 Redis 的 GEO 特性将在 Redis 3.2 版本释出, 这个功能可以将用户给定的地理位置信息储存起来, 并对这些信息进行操作 将指定的地理空间项目(纬度,经度,名称)添加到指定的键。数据作为排序集存储到密钥中,使得可以使用GEORADIUS或GEORADIUSBYMEMBER命令使用半径查询稍后检索项目。 该命令采用标准格式x,y
2017-12-14 10:57:10 4401
原创 HaProxy+keepalived+mycat分布式高可用架构
集群部署图的理解:1、 keepalive和haproxy必须装在同一台机器上,keepalived负责为该服务器抢占VIP。2、 192.168.1.107上的keepalived会抢占VIP,抢占VIP有优先级,配置keepalived.conf中参数priority值越大优先越高,在同等情况下,keepalived服务器启动先得会先抢到VIP。3、 Harpox
2017-12-14 10:53:54 3433
原创 MyCAT+MySQL分布式架构
Mycat安装部署1下载jdk: http://www.oracle.com/technetwork/java/javase/archive-139210.html,建议用7就好jdk-7u55-linux-i586.tar.gz解压包:tar –zxvf jdk-7u55-linux-i586.tar.gz包文件:http://down.51cto.com/dat
2017-12-14 10:52:51 3077
原创 pxc与haproxy参数详解
用户发起Commit,在收到Ok之前集群每次发起一个动作,都会有一个唯一的编号 PXC独有的Global Trx Id 动作发起者: commit_cb其它节点多了一个动作: apply_cb 上面的这些动作,是通过那个端号交互的?45674568端口 IST 只是在节点下线,重启加入那一个时间有用4444 只会在新节点加入进来时起作用pxc
2017-12-14 10:48:58 2555
原创 Mariadb Cluster+Haproxy+keepalived 集群的详细安装与配置
要点概括1、关闭iptables 或者设置常用端口为accept(关闭省事)2、修改/etc/hosts ,设置RSA互信,避免在传文件需要密码3、使用mariadb或者其他版本的DB带有WSREP功能4、修改配置文件,在原来初始化的基础上加上WSREP的参数5、启动第一个节点6、在第一节点设置其他2节点的连接用户名和密码和配置文件设置一致
2017-12-14 10:42:19 1418
原创 MySQL开源利器MaxScale集群读写分离
一、MaxScale作用 MaxScale是maridb开发的一个MySQL数据中间件,配置好MySQL的主从复制架构后,希望实现读写分离,把读操作分散到从服务器中,并且对多个服务器实现负载均衡。 MaxScale是插件式结构,允许用户开发适合自己的插件。 读写分离和负载均衡是MySQL集群的基础需求,基础架构:
2017-12-14 10:40:41 1159
原创 读写分离MySQL+MHA+MAXSCALE集群高可用
需要的包下载:(MHA0.57+MAXSCALE1.43 2.0)http://down.51cto.com/data/2258543 http://down.51cto.com/data/2258544http://down.51cto.com/data/2258545架构图:要点: 1、安装配置MHA 2、主从搭建
2017-12-14 10:38:28 2925
原创 高可用集群架构maxscale
一、MaxScale作用 MaxScale是maridb开发的一个MySQL数据中间件,配置好MySQL的主从复制架构后,希望实现读写分离,把读操作分散到从服务器中,并且对多个服务器实现负载均衡。 MaxScale是插件式结构,允许用户开发适合自己的插件。 读写分离和负载均衡是MySQL集群的基础需求,基础架构:
2017-12-13 11:13:10 9453 2
原创 高可用集群架构DRBD+HEARTBEAT+MYSQL
### 知识补充,一定要看哦:工作原理:指定heartbeat服务器作为主服务器,则另外一台将自动成为热备服务器,然后热备服务器上的配置heartbeat守护程序来监听来自主服务器的心跳,如果热备服务器在指定时间内未监听到来自主服务器的心跳,就会启动故障转移程序,并取得主服务器上的相关资源及服务的所有权,阶梯主服务器继续提供不间断服务从而达到资源及服务高可用性的目的。和keep
2017-12-13 11:10:43 2086
原创 PINGCAP-tidb入门到跑路
TiDB 是 PingCAP 公司基于 Google Spanner / F1 论文实现的分布式 NewSQL 数据库。TiDB 具备如下 NewSQL 核心特性SQL支持 (TiDB 是 MySQL 兼容的)水平线性弹性扩展(容量、并发、吞吐量)分布式事务,数据强一致性保证故障自恢复的高可用 (auto failover)TiDB 是传统的数据库中间件、数据库分库分表等 Sharding 方案非...
2017-12-13 11:08:00 30930 5
原创 PINGCAP开源高可用架构TIDB
架构图: 一、环境规划:Pd node192.168.9.42192.168.15.57Tikv node192.168.15.2192.168.15.2192.168.15.23tidb
2017-12-13 11:03:42 1730
原创 高可用建构MHA解决方案
MHA工作原理总结如下:1、 配置文件检查阶段(整个集群的配置)2、 宕机奔溃的master保存二进制日志事件且摘除VIP操作3、 识别含有最新更新的slave4、 复制dead master和slave相差的中继日志,保存到mha manager具体的目录下面5、 提升一个slave为新的master6、 使其他的slave
2017-12-13 11:02:01 885
原创 APM-开源PinPoint链路监控架构
PinPoint分布式全链路监控安装需要的所有包下载路径:链接: https://pan.baidu.com/s/1wd0Ns8nVKLjDIEc-lrT1dg介绍: PinPoint是一个开源的APM((Application Performance Management/应用性能管理)工具,基于JAVA的大规模分布式系统。 仿照GOOLE DAPPER,PinPoint通过跟踪分布式应...
2017-12-13 10:59:34 6813
原创 开源数据库InfluxDB常用函数
1)count()函数返回一个(field)字段中的非空值的数量。语法:SELECT COUNT() FROM [WHERE ] [GROUP BY ]示例:>SELECT COUNT(water_level) FROM h2o_feetname: h2o_feet--------------time coun
2017-12-13 10:57:41 21749
原创 开源grafana可视化监控+influxdb
了解数据库的TPS、QPS是作为一个运维DBA是非常必要的,那什么是TPS、QPS呢,简单的理解是:QPS:每秒查询数,即对数据库每秒的DML的操作数TPS:每秒事物处理,即对数据库每秒DDL操作数通过了解他们,可以掌握一个实例的基本工作运行状态如何对于对他们进行页面可视化,是DBA的一个装逼神器,本章主要介绍通过时序数据库(influxdb)+grafana+简单
2017-12-13 10:54:36 8108
原创 开源时序数据库influxDB解决方案
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。一、与传统数据库中的名词做比较nfluxDB中的名词传统数据库中的概念database数据库measurement数据库中的表points表里面的一
2017-12-13 10:49:22 13237
原创 开源数据库MySQL-Infobright解决方案
Infobright 是一个非常强大的列式存储数据库,基于MySQL的高效数据仓库。之所以使用数据仓库,是因为目前MySQL数据库中的数据增长很快,定期会对一些历史记录表进行清除,但后期的统计分析还会用到这些历史数据,随着数据量的增大,查询也越来越慢,而数据库仓库特有的存储格式能够减小磁盘空间内的占用,同时列式的特点使得查询速度大为改观。选择Infobright是因为它锁支持的数据类型更多
2017-12-13 10:45:54 449
原创 Grafana快速搭建过程
官方是怎么解释Grafana的: grafana是用于可视化大型测量数据的开源程序,他提供了强大和优雅的方式去创建、共享、浏览数据。dashboard中显示了你不同metric数据源中的数据。 grafana最常用于因特网基础设施和应用分析,但在其他领域也有机会用到,比如:工业传感器、家庭自动化、过程控制等等。 grafana有热插拔控制面板和可扩展的数据
2017-12-13 10:44:56 3652
原创 在线开关MySQL5.7 GTID与传统快速切换
当前场景:某些业务场景还未开启GTID服务组,在最新版本中,BINLOG组提交也基于GTID方式,因此如何检测是否符合开启GTID条件,在线切换使用GTID,以及如何快速回滚:gtid_mode参数新选项:MySQL提供两个额外的选项off_permissive和on_permissive gtid-mode的几种状态说明: off :不产生gt
2017-12-12 19:56:01 430
oneproxy-v6版本支持linux
2022-06-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人