自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 资源 (5)
  • 收藏
  • 关注

原创 手工打造ticdc集群

ticdc集群部署

2021-12-17 19:24:30 463

原创 TiDB集群多副本故障修复实践

TIKV宕机处理###集群停止写入,可能就没那么多的问题###集群停止写入,可能就没那么多的问题###集群停止写入,可能就没那么多的问题集群在异常宕机2个节点或3个节点,修复文档(TIKV两、三节点异常下线处理流程),在UNSAFE修复玩抽,集群仍然出现部分的region出现 Region is unavailable/TiKV server is busy主要导致的因素: 1、集群在UNSAFE开始可能未及时关闭调度可能引起原因之一 2、集群在执行UNSAFE后未执行完成开启调度可...

2021-04-29 18:47:03 731

原创 tidb慎用admin check index

在使用TIDB过程中,可能会遇到索引数据不一致的问题,可能就会导致通过索引就无法查询需要数据或删除数据,如:DELETEFROMaa WHEREgroupID=1223 ANDshopID=34343 ANDreportDate<=34343 limit5000(1105,"inconsistentindexidx_code handlecount1928isn'tequaltovaluecount1926")若直接报错就是比较明显的,在有些环境下,可能需...

2021-04-26 11:46:39 375

原创 快速校验数据一致性:pt-table-sync

1、可直接修复主从数据不一致2、可直接修复没有主从关系的之间的数据同步,但不能同步DDL3、可实现混合云自建实例的数据校验(RDS云产品例外)使用方法: 校验两个独立数据库,无主从复制关系,排除特定数据库 pt-table-sync --charset=utf8 --ignore-databases=mysql,sys u=dlan,p=root123,h=172.16.0.29,P=3318 dsn=u=root,p=root123,h=172.16.0.11,P=5700...

2021-03-23 18:12:30 253

原创 GO结构体模拟实现其他语言中的“继承“

package mainimport "fmt"//结构体模拟实现其他语言中的"继承"type animal struct { name string}//给animal实现一个移动的方法func (a animal) move() { fmt.Printf("%s 会移动", a.name)}type dog struct { feet int animal //匿名结构体嵌套,dog也拥有animal的属性,也包含了animal的方法}//dog 实现方法fu.

2020-10-17 12:35:10 91

原创 go结构体的匿名字段、结构体嵌套

学习内容:1、匿名字段2、嵌套结构体及数据初始化3、匿名嵌套结构体及数据初始化4、匿名嵌套结构体的字段冲突结构体匿名字段概念:结构体允许其成员字段在声明时没有字段名字而只有类型package mainimport "fmt"type person struct { name string age int64 addr address //*****结构体嵌套******}type address struct { province string city

2020-10-17 11:47:10 711

原创 Go-基于函数实现学生管理系统

学生管理系统,简单代码如何下:实现功能有:1、添加用户2、删除用户3、查看用户4、验证用户是否可操作5、package mainimport ( "fmt" "os" //"math/rand")//定义学生结构体type student struct { id int64 name string}//newStudent 是student类型的构造函数func newStudent(id int64, name string) *student {

2020-10-16 23:13:41 231

原创 Redis BIgKey自动分析处理

使用开源rdb工具与Lepus进行REDIS RDB的数据分析,相信使用REDIS,对CACHE的重要性不言而喻,尽可做到事前-预判,坚决不做背锅侠........ 生成环境需要分析的RDB会很多,如一个FE展示着多个DASHBOARD,一个DASHBOARD下有一个或多个GROUP,监控的REDIS主要从Lepus获取(可根据实际是否使用),如何避免手动逐个RDB进行分析,进行...

2019-07-02 12:01:01 1276

原创 eclips -django+mysql实践

主要简单实现通过WEB提交数据到后端再到数据展示过程:1、配置eclips+django+python+mysql基础环境搭建(省略)2、通过eclipse添加DJANGO项目,MTV基础配置      1、settings配置项目名称、TEMPLATES,STATICS等      3、在TEMPLATES中添加HTML4、添加models5、添加...

2018-07-29 16:25:01 401 1

原创 MySQL存储过程复制表数据到另一表中

1、源表信息:CREATE TABLE `aa` (  `id` int(11) NOT NULL AUTO_INCREMENT,  `b1` int(11) DEFAULT NULL,  `abc` int(200) DEFAULT NULL,  PRIMARY KEY (`id`),  UNIQUE KEY `b` (`b1`)) ENGINE=InnoDB AUTO_INCREMENT=9 ...

2018-06-07 18:05:17 3528

原创 MySQL报错1677

线上从库报错,原来库字符集为utf8mb4,后在RENAME表后重新添加为utf8,跑了一段时间提示1677.slave_type_conversions来控制复制中主从结构不一致的处理默认为”,即不支持主从字段类型不一致,其它3种类型为:all_lossy 支持有损转换,如int–&gt;tinyintall_non_lossy 支持无损转换,如char(20)–&gt;varchar(25)a...

2018-04-27 12:45:49 2397

原创 INCEPTION+Yearning审核平台

自动化autosql审核平台--基于Yearning可视化解决依赖包yum -y install cmake ncurse ncurses-devel gcc gcc-c++ openssl-devel http-parser libicu nginx wget m4一、升级PYTHON版本1.下载并安装Python3.6.3# wget https://www.py...

2018-04-27 11:10:07 2572

原创 pt-archiver数据归档使用大全

-where 'id&lt;3000' 设置操作条件--limit 10000 每次取1000行数据给pt-archive处理--txn-size 1000 设置1000行为一个事务提交一次--progress 5000 每处理5000行输出一次处理信息--statistics 结束的时候给出统计信息:开始的时间点,结束的时间点,查询的行数,归档的行数,删除的行数,以及各个阶段消耗的总的时间和比例...

2018-04-16 17:10:18 2420 1

原创 MySQL批量删除数据脚本

#!/usr/bin/python# -*- coding: UTF-8 -*-import osimport MySQLdbimport timedb=MySQLdb.connect(host="172.16.32.11",user="a",passwd="root1123",port=3307,charset='utf8')cursor=db.cursor()sql="select id fr...

2018-04-14 18:12:19 3305

原创 MySQL分区表到普通表互转

由于最近总有人抱怨,数据迁移后执行SQL变慢,经过查看原来是分区导致的问题。原分区根据按月设置RANGE分区,看到这图的时候也许有人就会发现问题.......业务查询SQL:从SQL上看 执行计划确实是走了分区,但为什么没有命中索引呢,在图1的里有联合索引(idx_reportDate_groupID_shopID_saasOrderKey)##解决问题思路1、若强制指定走索引,确实是快的,扫描的...

2018-04-11 11:58:38 5965

原创 TIDB 运维之道

需要了解PD下的几个运维工具pd-recover  #用法不详pd-ctl./pd-ctl -u http://172.16.0.50:2379登陆后输入help查看支持的命令helpPlacement Driver controlUsage:  [command]Available Commands:  cluster     show the cluster information  conf...

2018-03-31 11:39:49 1740

转载 TIDB 优化--TiKV 性能参数调优

TiKV 最底层使用的是 RocksDB 做为持久化存储,所以 TiKV 的很多性能相关的参数都是与 RocksDB 相关的。TiKV 使用了两个 RocksDB 实例,默认 RocksDB 实例存储 KV 数据,Raft RocksDB 实例(简称 RaftDB)存储 Raft 数据。TiKV 使用了 RocksDB 的 Column Falimies 特性。默认 RocksDB 实例将 KV ...

2018-03-31 11:35:34 7797

原创 进程管理supervisor-MySQL

实现进程服务管理,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制安装过程1、到官网下载最新版本,解压编译,tar -zxvf supervisor-3.3.4.tar.gz cd supervisor-3.3.4python setup.py install可能会遇到如下错误:Installed /usr/lib/pyt...

2018-03-22 14:45:15 4002

原创 MySQL数据一致性验证-mysqldbcompare

MySQL数据一致性验证方式: 如果要比较数据库表结构就使用mysqldiff,并生成差异SQL语句        如果要比较数据库主从一致使用pt-table-checksum,生成差异报告,在利用pt-table-sync 数据修复 如果要比较数据库数据就使用mysqldbcompare,并生成差异SQL语句(全能比较) mysqldbcompare是官方提供一个可以实现多库或单库比较数据一致...

2018-03-21 14:26:31 6378

原创 MySQL 虚拟表获取数据行号

通过虚拟表获取结果集的行的标识号,或者想知道数据库某一条数据的排名,或者获取时间的多少天前记录等。SQL如下:SELECT @rowno:=@rowno+1 AS rowno,a.* FROM `tbl_crm_card_info` a,(SELECT @rowno:=0 )t  LIMIT 0,10SQL2:SELECT @rowno:=@rowno +1 AS lineno ,DATE_SUB...

2018-03-21 11:56:16 1409

原创 MySQL数据库主从切换脚本自动化

      在一些实际环境中,如何实现主从的快速切换,在没有MHA等工具的辅助下,如何避免影响线上的业务,一般都会在在业务低峰期进行主从切换,本脚本主要利用MySQL自带的命令行工具(FLUSH TABLES WITH READ LOCK)进行锁全库,且由用户自行输入判断多少秒内从库BINLOG数据不在同步后,认为主从数据已达一致性可以进行主从切换(在一些资料上说也可以用READ-ONLY来锁库,...

2018-03-11 11:19:24 4514

原创 MySQL数据库统一备份平台管理

MySQL集中备份平台实现过程:  #1、将文件db_back存放在/home目录下#2、将dbreport存放在在/home/www目录下1、修改/home/db_backup/config.ini配置文件,设置连接数据库设定的4个表基础信息[baseconf]host=192.168.15.57 #根据实际修改name=dbinfo        #根据实际修改库信息port=5700    ...

2018-03-09 15:21:37 3533

原创 MySQL在线修改数据库名称

介绍:略思路:借助rename这个命令基本操作:rename olddb.tables to newdb.tables直接脚本执行:#!/usr/bin/env python# -*- coding: utf-8 -*-import MySQLdbimport timeclass m_s:    def __init__(self,host,user,password,port):        ...

2018-03-09 13:23:40 2935

原创 MySQL逻辑备份备份还原

 从一个全备的数据恢复指定的数据,方法有很多,可以通过特殊方法从全备的数据文件取出数据数据库名和表名等等,还可以通过一个全备指定库名的方式恢复指定的数据,这个方法简单快速,这个方法会恢复不需要的库,但不会恢复数据.过程如下:1、查看数据库还没备份前的状况MariaDB [(none)]&gt; show databases;+--------------------+| Database     ...

2018-03-08 14:00:44 627

原创 mysql迁移到REDIS过程

一个简单快速的将MySQL的数据迁移到Redis中并且以hash方式存储,数据的存储需要遵守redis的通讯协议(官方连接 http://redis.io/topics/mass-insert),如:    *3 CR LF  //三个字段    $3 CR LF  //第一个字段 ‘set’ 有3个字节    SET CR LF //字段内容set    $4 CR LF  //第二个字段key...

2018-03-08 13:56:38 890

原创 MySQL文件排序算法介绍

前言排序是数据库中的一个基本功能,MySQL也不例外。通过Order by语句即能达到将指定的结果集排序的目的,其实不仅仅是Order by语句,Group by语句,Distinct语句都会隐含使用排序在实际业务场景中,SQL的执行计划中会出现“Using filesort”,这里需要注意的是filesort并不意味着就是文件排序,其实也有可能是内存排序,这个主要由sort_buffer_siz...

2018-03-08 13:54:38 4153 4

原创 python 读取excel数据到mysql

#!/usr/bin/env python# -*- coding: utf-8 -*-import MySQLdbimport osimport sysimport rereload(sys)sys.setdefaultencoding( "utf-8" )import timeimport datetimetoday=datetime.date.today()oneday=datetime.t...

2018-03-08 11:00:24 556

原创 BLACKHOLE的BINLOG实现

BlackHole :黑洞引擎,写入的任何数据都会消失,用于记录binlog做复制的中继存储!是否支持BLACKHOLE引擎,通过查看SHOW ENGINES进行查看。BlackHole的用途:用于binlog的备份线上MySQL的binlog一般会保留3-5天,但是对比较重要的业务,binlog可能需要保留一个月甚至半年。线上服务器可没有这么大的空间,最多保留10天就会被purge掉。此时bla...

2018-03-08 11:00:02 542 2

原创 开源在线DDL工具--gh-ost

1. gh-ost工作模式gh-ost有三种工作模式:a:连接到从库,在主库做迁移。b:连接到主库,迁移过程所有操作都在主上操作,包括读取binlog等等。c:在从库做迁移测试。三种方法各有优缺点,先说a的缺点,a会在从上面读取binlog,但数据库主从数据为什么会造成不一致,一个很重要的原因是主库的binlog没有完全在从库执行。所以感觉a方法有丢失数据的风险。b方法任何操作都会再主库操作,或多...

2018-03-08 10:59:13 1822

原创 mydumper安装和使用

mydumper作为一个实用工具,能够良好支持多线程工作,可以并行的多线程的从表中读入数据并同时写到不同的文件里,这使得它在处理速度方面快于传统的mysqldump。其特征之一是在处理过程中需要对列表加以锁定,因此如果我们需要在工作时段执行备份工作,那么会引起DML阻塞。但一般现在的MySQL都有主从,备份也大部分在从上进行,所以锁的问题可以不用考虑。这样,mydumper能更好的完成备份任务。m...

2018-03-08 10:56:38 2831

原创 mysql otter安装部署

mysql环境已经都安装就绪otter用的mysql库的用户权限配置:grant all privileges on *.* to 'canal'@'%'identified by 'canal';grant all privileges on *.* to'canal'@'localhost' identified by 'canal';delete from user where user='...

2018-03-02 15:48:26 964

原创 Python---文件处理

Python文件处理:简单理解就是对文件交互的处理过程,主要包含RW过程。当前目录下创建文件: f=file('aa.txt','w')##第一个文件名,一个是打开f模式,模式主要有rwa#r模式:直接读取已经必须要存在的文件,不存在话 报错IOerrorw模式:会直接创建一个新的文件,若存在直接覆盖旧文件a追加模式,不会覆盖原来文件##

2018-02-27 17:52:59 178

原创 函数与类

函数的意义函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内置函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。函数的定义函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。函数的第一行语句可以选择性...

2018-02-27 16:41:39 254

原创 经典模型-生产者消费者模型

在生产者/消费者模型中,生产者Producer负责生产数据,而消费者Consumer负责使用数据。多个生产者线程会在同一时间运行,生产数据,并放到内存中一个共享的区域(Queue)。期间,多个消费者线程读取内存共享区,消费里面的数据解释:1、我们开始了一个生产者线程(下称生产者)和一个消费者线程(下称消费者)。2、生产者不停地添加(数据)到队列,而消费者不停地消耗。3、由于队列是一个共享变量,我们...

2018-02-27 16:39:42 311

原创 PYTHON多线程实践-初级到到高级

多线程样例:import threadingimport timedef run(name):    print "i am mult-threding",i    time.sleep(2)for i in range(20):    t=threading.Thread(target=run,args=(i,))    t.start() class mythread(th...

2018-02-27 16:38:40 172

原创 python的socket入门到高级

SOCKET入门:原理:服务端一直处理监听的状态,当客户端发起一个请求,服务端监听到请求建立连接,在建立连接时,若当前客户端没有结束,处于阻塞状态,当前的会话处于不断的交互状态,只有当前客户端结束回话后,才进行下个回话请求,若此时有另外一个连接,不会分配当前的服务端正在使用连接分配给后来的客户端绘画通俗说理解SOCKET过程:小磊子和10086    一天小磊子打电话给10086,10086的小红...

2018-02-27 16:35:14 324

原创 Python数据类型

之LIST:序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。序列都可以进行的操作包括索引,切片,加,乘,检查成员索引运算:[i]切片运算:[i:j]扩展运算:[i:j:stride]a=[1,2,3,4,5,6]a[1]a[0:2] a[6:0:-1]左侧数小于右侧:a[-1:-3][6, 5, 4, 3, 2]a[0:6:2]max(a) min(...

2018-02-27 16:32:17 295

原创 认识正则表达式

Python里的正则表达式re:    pattern:匹配模式,遵循正则表达式语法    method:匹配方法,search/match/split/findall/finditer/sub/subnre模块介绍   re.search:搜索字符串,找到匹配的第一个字符串   re.match:从字符串开始开始匹配   re.split:使用正则表达式来分隔字符串   re.findall:根...

2018-02-27 15:52:35 142

原创 PYTHON 多线程信号量

实现同时运行多个线程工作,主要通过信号量的设置,但还是在一个CPU上执行,具体要实现的例子可以放在函数里执行,实现单核多并发,还等待什么......#!/usr/bin/env python# -*- coding: utf-8 -*-import threadingimport timeimport randomdef work_func():    print "worker t...

2018-02-27 15:48:12 230

原创 python获取本地IP地址发送邮件

#!/usr/bin/env python#_*_coding:utf-8 _*_import timeimport socketimport fcntlimport structimport smtplibfrom email.mime.text import MIMETextdef get_ip_add(ifname): 

2018-02-27 15:43:10 719

oneproxy-v6版本支持linux

1. 垂直分库 2. 水平分表 3. Proxy集群 4. 读高可用 5. 读写分离(master不参与读) 6. 读写分离(master参与读) 7. 写高可用 8. 读写随机

2022-06-14

ticdc.rules.yml

ticdc监控模板资源

2021-12-21

test-cluster-TiCDC-1640072726116.json

手动导入ticdc的dashboard模板

2021-12-21

mysql备份平台脚本

搭建mysql备份平台脚本、apache、xtrabackup等文件所有信息

2018-03-09

zabbix安装文件大全

zabbix3.2.4部署需要的包及配置文件等等..........zabbix3.2.4部署需要的包及配置文件等等

2018-01-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除