12 2021 档案
摘要:1.Binlog介绍与原理 1.1 介绍 Binlog在TiDB5.0后逐渐被TiCDC替代。 1.2 原理 pump存储自己接收的binlog,并且按照日志的时间顺序进行排序。 pump是一个集群,都能接收binlog,所有的pump会集中到一个Drainer,并且在drainer中进行排序。 D
阅读全文
摘要:1.JSON基础 1.1 JSON概述 JSON或JavaScript Object Notation是一种基于文本的轻量级开放标准,专为人类可读的数据交换而设计。 程序员已经知道JSON使用的约定,包括C,C ++,Java,Python,Perl等。 JSON代表JavaScript Objec
阅读全文
摘要:1.介绍 2.原理和架构 DM-master负责管理和调度数据迁移任务的各项操作。 DM-worker负责执行具体的数据迁移任务。 多个master,多个worker分别构成一个集群(高可用),对外提供服务。 一个DM-worker对应一个源数据库。 3.适用场景 DM支持全量和增量的数据迁移,能够
阅读全文
摘要:1.数据导出工具dumpling 1.1 介绍 dumpling 是逻辑备份也是热备份。 1.2 架构和特点 1.3 dumpling的适用场景和不适用场景 注意:dumpling目前只支持全量备份,不支持增量备份。 1.4 dumpling的部署与所需权限 (1)部署 共有两种方式。 (2)所需权
阅读全文
摘要:1.备份恢复工具BR介绍 注意:BR是热备份也是物理备份。 2.备份恢复工具BR适用场景 注意:导出的是SST文件,只能恢复到TiDB数据库。 3.备份恢复工具BR的原理 左图是备份,右图是恢复。 BR是通过MVCC机制保证数据的一致性。 4.备份恢复工具BR的使用限制 备份数据是无法做复制的。 5
阅读全文
摘要:1.TiDB cluster 的升级 1.1 使用TiUP进行补丁升级(HotFix) 1.2 版本升级流程 TiDB不支持跨版本升级。 注意:Tiup的版本要高于1.4 1.2.1 升级TiUP 1.2.2 编辑TiUP Cluster 拓扑配置文件 1.2.3 集群状态检查 注意:1,2,3步都
阅读全文
摘要:1.在线扩容 1.1 TiDB/TiKV/PD 1.2 TiFlash enable-placement-rules参数是PD的。 2.在线缩容 2.1 TiDB/TiKV/PD 2.2 TiFlash 注意:首先,需要将表的副本清零。 3.重命名集群 cluster-name:旧名字 new-na
阅读全文
摘要:1.commit、pull、push操作顺序 操作步骤需要严格执行如下顺序:commit->pull->push commit:将代码提交到本地仓库。 pull:将远程仓库代码同步到本地仓库。如遇冲突,解决冲突,重复commit->pull,直到没有冲突。 push:将本地仓库代码提交到远程仓库。
阅读全文
摘要:1.TiDB的监控体系 1.1 Grafana+Prometheus Grafana是可视化控件,它将监控数据展示给用户。 Prometheus用于收集和存储时序序列(TiDB,TiKV,PD的相关数据)。 1.2 TiDB Dashboard TiDB Dashboard从TiDB 4.0引入的。
阅读全文
摘要:1.TiDB的用户管理与安全 数据库用户的连接过程: 1.1 本地连接 客户端和服务器在同一台机器上 1.2 远程连接 1.3 查看用户信息 1.4 创建用户 生产中建议使用第一种方式,安全性较高。identified by后面是密码。 %代表模糊匹配,匹配所有网段。生产中不建议使用。 1.5 角色
阅读全文
摘要:1.TiDB的连接管理 1.1 TiDB Server的连接特性 数据全部存在TiKV上。 通过添加TiDB Server的个数,提高系统并发处理能力。如果其中一个TiDB Server出现问题,会连接到另外一个TiDB Server(无状态的特性,高可用)。 TiDB Server的两大特性:无状
阅读全文
摘要:1.TiUP 1.1 介绍 1.2 TiUP使用 案例: 例一是列出所有的Tiup安装的组件 例二是tiup+command(命令)+component 2.TiDB部署前的硬件要求 TiDB复制sql的解析工作。 PD是TiDB的大脑。 3.TiDB部署前的操作系统要求 4.TiDB基本部署拓扑结
阅读全文
摘要:1.Arrays概述 Arrays类位于 java.util 包中,主要包含了操作数组的各种方法。 1.1 toString方法 一维数组转字符串 public static String toString(int[] a) 案例: int[] array1 = new int[]{1, 2, 3}
阅读全文
摘要:1.TiUP TiUP是TiDB 4.0版本引入的集群运维工具,通过TiUP可以进行TiDB的日常运维工作,包括部署、启动、关闭、销毁、弹性扩缩容和升级集群,以及管理TiDB集群参数。 Tiup 是从 4.0 开始引入的集群管理工具,既可以管理内核组件 (PD、TiKV、TiDB、TiFlash),
阅读全文
摘要:1.我们到底需要一个什么样的数据库 1.1 需要的数据库特性 扩展性 强一致性、高可用性 支持SQL,ACID事务。 云原生 HTAP 兼容主流生态和协议 1.1.1 扩展性 Scale out也就是我们经常听到的弹性横向扩展。一是从弹性的角度看,颗粒度越小越好,常见的颗粒度有Cluster、Dat
阅读全文
摘要:1.commons-lang3 概述 apache提供的众多commons工具包,号称Java第二API,而common里面lang3包更是被我们使用得最多的。因此本文主要详细讲解lang3包里面几乎每个类的使用,希望以后大家使用此工具包,写出优雅的代码。 maven依赖: <dependency>
阅读全文
摘要:1.Linux用户和用户组 Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。 例如,某台 Linux 服务器上有 4 个用户,分别是 root、www、ftp 和 mysql,在同一时间内,root 用户可能在查看
阅读全文
摘要:1. grep命令详解:查找文件内容 grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式全局搜索文本,并把匹配的行打印出来。 grep 命令
阅读全文
摘要:Evaluate Expression。共支持两种模式:表达式模式、代码模式。可以支持动态查看,以及代码段调试。 在IDEA debug调试模式下,进入断点。在想要操作的变量上右键,点击Evaluate Expression打开Evaluate Expression计算表达式窗口。 1.调试步骤 1
阅读全文
摘要:1.读取 .properties 配置文件的工具类PropertyUtils 项目中经常将一些配置信息放到properties文件中,读取非常方便,下面介绍几种java读取properties配置文件的方式。先看示例的properties文件: 通过jdk提供的java.util.Propertie
阅读全文
摘要:1.cat命令:连接文件并打印输出到标准输出设备 cat 命令可以用来显示文本文件的内容,也可以把几个文件内容附加到另一个文件中,即连接合并文件。 cat 是 concatenate(连接、连续)的简写。 cat 命令的基本格式如下: [root@localhost ~]# cat [选项] 文件名
阅读全文
摘要:1.Vim概述 Linux 系统中“一切皆文件”,因此当我们在命令行下更改文件内容时,不可避免地要用到文本编辑器。 Vim文本编辑器,是由 vi 发展演变过来的文本编辑器,因其具有使用简单、功能强大、是 Linux 众多发行版的默认文本编辑器等特点。 2.Vim基本操作 2.1 打开文件 使用 Vi
阅读全文
摘要:1.tar 命令 Linux 系统中,最常用的归档(打包)命令就是 tar,该命令可以将许多文件一起保存到一个单独的磁带或磁盘中进行归档。不仅如此,该命令还可以从归档文件中还原所需文件,也就是打包的反过程,称为解打包。 使用 tar 命令归档的包通常称为 tar 包(tar 包文件都是以“.tar”
阅读全文
摘要:1.下载jdk安装包 安装Java环境之前,首先要到 官网下载地址 下载我们需要的jdk安装包,根据我们Linux系统的位数来选择需要下载的包,我的Linux是64位的,所以我下载的64位的jdk安装包。 jdk下载链接: https://www.oracle.com/java/technologi
阅读全文