• MySQL数据实时增量同步到Elasticsearch

    Mysql到Elasticsearch的数据同步,一般用ETL来实现,但性能并不理想,目前大部分的ETL是定时查询Mysql数据库有没有新增数据或者修改数据,如果数据量小影响不大,但如果几百万上千万的数据量性能就明显的下降很多,本文是使用Go实现的go-mysql-transfer中间件来实时监控Mysql的Binlog日志,然后同步到Elasticsearch,从实时性、性能...

    MySQL 2020年11月23日 15 0
  • mysql垂直分库,水平分库,垂直分表,水平分表

    之前经常被问道这些分库分表的概念,只是大概知道,但是具体如何定义的,问什么这么定义还是不太理解,今天对着数据表中的数据沉思的时候,突然间醒悟,原来这些概念非常好理解,而且可以说水平和垂直这两个词用得恰到好处,非常形象地帮助我们理解它们。水平分表顾名思义,水平分表就是把表中的数据进行了水平切割,意味着按照行进行切割,也就是说不同行的数据被切割后可能在不同的表中。如图所示,根据水平...

    MySQL 2020年11月18日 31 0
  • 基于 Flink 实现解决数据库分库分表任务拆分

    1、场景描述例如订单库进行了分库分表,其实例如下图所示:现在的需求是希望创建一个任务就将数据同步到MQ集群,而不是为每一个数据库实例单独创建一个任务,将其数据导入到MQ集群,因为同步任务除了库不同之外,表的结构、数据映射规则都是一致的。 2、flinkx 的解决方案详解 2.1 fink Stream API 开发基本流程使用 Flink Stream API 编程的通用步骤...

    MySQL 2020年11月17日 35 0
  • 性能测试 | Jmeter对数据库mysql压测就是这么简单

    一、测试计划-----添加JDBC驱动链接这里我用的mysql数据库是8.5版本,那么我相对应的JDBC驱动选择了8.0.11版本,JDBC驱动可以在mys ql的官网下载,具体地址是:https://dev.mysql.com/downloadsdownload下载后解压文件夹,把文件夹中的mysql-connector-java-8.0.11.jarb copy到jmete...

    MySQL 2020年11月14日 45 0
  • 新特性解读 | MySQL 8.0.22 任意格式数据导入

    上一章讲了数据库基本上都用 B+ 树来存储索引的原因:适合磁盘存储,能够充分利用多叉平衡树的特性,磁盘预读,并且很好的支持等值,范围,顺序扫描等。这篇主要介绍 MySQL 两种常用引擎,MyISAM 和 InnoDB 的索引组织方式,了解这些存储方式,对数据库优化很有帮助。MySQL 的索引按照存储方式分为两类:聚集索引:也称 Clustered Index。是指关系表记录的物...

    MySQL 2020年11月12日 61 0
  • 基于 Flink SQL CDC的实时数据同步方案

    Flink 1.11 引入了 Flink SQL CDC,CDC 能给我们数据和业务间能带来什么变化?本文由 Apache Flink PMC,阿里巴巴技术专家伍翀 (云邪)分享,内容将从传统的数据同步方案,基于 Flink CDC 同步的解决方案以及更多的应用场景和 CDC 未来开发规划等方面进行介绍和演示。传统数据同步方案基于 Flink SQL CDC 的数据同步方案(D...

    MySQL 2020年11月03日 142 0
  • MySQL 8.0.22 新特性

    MGR 具备了 RPO=0 的高可用容灾能力,但并不适合跨 WAN 场景下使用,像有两地三中心容灾需求的场景,单纯靠 MGR 是无法满足的,必须要拉上异步复制。同城双中心距离在百十公里内,网络延迟可接受,要求 RPO=0,那么部署一组 MGR;异地容灾中心距离在上百公里,网络延迟较大,接受 RPO>0,通过异步复制,部署单节点或对称部署一组 MGR。在两地三中心架构下,如...

    MySQL 2020年11月03日 142 0
  • 最完整的Explain总结,妈妈再也不担心我的SQL优化了

    在 select 语句之前增加 explain 关键字,MySQL 会在查询上设置一个标记,执行查询时,会返回执行计划的信息,而不是执行这条SQL(如果 from 中包含子查询,仍会执行该子查询,将结果放入临时表中)CREATE TABLE `film` (  `id` int(11) NOT NU...

    MySQL 2020年08月27日 364 0
  • mysql数据库优化方案之分库分表,轻松解决亿级数据问题

    今天介绍下sharding-sphere,主要介绍他的特性,分库分表的技术的详解。(一)下载源码官网地址获取源码https://shardingsphere.apache.org/index_zh.html下载源码因为git的包名比较长,git有可以创建4096长度的文件名,然而在windows最多是260,因为git用了旧版本的windows api,为此踩了个坑。从gith...

    MySQL 2020年08月07日 561 0
  • 烹饪MySQL8.0 Cluster这道菜

    此文将带领大家接触MySQL8.0版本,并且部署Mysql Cluster。香。香。香。一:写在前面--MySQL8.0的改进1:性能:MySQL 8.0 的速度要比 MySQL 5.7 快 2 倍。MySQL 8.0 在以下方面带来了更好的性能:读/写工作负载、IO 密集型工作负载、以及高竞争("hot spot"热点竞争问题)工作负载。MySQL8.0、MySQL5.7、M...

    MySQL 2020年06月12日 812 0
  • 一款能快速批量处理SQL文本的软件:NimbleText

    前言做为一个后台程序员,在日常工作中,经常会遇到领导扔给一个Excel,让把 Excel 的数据导入数据库的情况。如果只是少量数据,几条甚至说几十条,还可以勉强地组织一下 insert 插入语句;但大多数情况下,都是成百上千行的数据,若要是再手动一条一条组织 insert 插入语句,岂不得累死。于是乎,为了减少重复工作,提高工作效率,小编找到了一款能快速批量处理SQL文本的软件...

    MySQL 2020年05月08日 755 0
  • 6步带你看懂MySQL 整体架构

    MySQL 在整体架构上分为 Server 层和存储引擎层。其中 Server 层,包括连接器、查询缓存、分析器、优化器、执行器等,存储过程、触发器、视图和内置函数都在这层实现。数据引擎层负责数据的存储和提取,如 InnoDB、MyISAM、Memory 等引擎。在客户端连接到 Server 层后,Server 会调用数据引擎提供的接口,进行数据的变更。连接器负责和客户端建立连...

    MySQL 2020年05月05日 541 0
  • MySQL用户及权限知识梳理

    一、账号用户账号MySQL用户账号组成: 'USER'@'HOST'USER: 用户名。HOST: 来源主机地址,IP、主机名、通配符(%和_)。创建用户账号:mysql> CREATE USER 'USER'@'HOST';mysql> CREATE USER 'USER'@'HOST' IDENTIFIED BY 'PWD';用户重命名:mysql> RE...

    MySQL 2020年04月26日 1119 0
  • 为什么MongoDB使用B-Tree,Mysql使用B+Tree ?

    除了 B+ 树,你可能还听说过 B 树、 B- 树,实际上, B- 树就是 B 树,英文翻译都是 B-Tree ,这里的 “-” 并不是相对 B+ 树中的 “+” ,而只是一个连接符。而 B 树实际上是低级版的B+ 树,或者说 B+ 树是 B 树的改进版。B+ treeB+ tree 实际上是一颗m叉平衡查找树(不是二叉树)平衡查找树定义:树中任意一个节点的左右子树的高度相差不...

    MySQL 2020年04月26日 527 0
  • mysql数据库如何进行备份和恢复

    一、确保mysql开启了binlog日志功能在/etc/my.cnf文件里的[mysqld]区块添加:#这个是存储的位置为mysql配置文件的位置log-bin=mysql-bin然后重启mysql服务生效二、创建数据库先创建一个ops数据库create database ops;use ops;创建一个customers表并写上表结构create table customer...

    MySQL 2020年04月26日 409 0
  • MySQL的binlog知识梳理

    1、binlog概念:binlog是一个二进制格式的文件,用于记录“修改数据或可能引起数据变更”的SQL语句(查询的SQL不会记录)。2、binlog功能:(1)恢复: 利用binlog日志恢复数据库数据。(2)复制: 主从架构通过binlog同步数据。(3)审计: 可以用binlog中的信息进行审计,判断是否有对数据库进行注入攻击。3、binlog的记录格式:(1)state...

    MySQL 2020年04月25日 380 0
  • 分库、分表、分区的区别

    一.分分合合说过很多次,不要拘泥于某一个技术的一点,技术是相通的。重要的是编程思想,思想是最重要的。当数据量大的时候,需要具有分的思想去细化粒度。当数据量太碎片的时候,需要具有合的思想来粗化粒度。1.1 分很多技术都运用了分的编程思想,这里来举几个例子,这些都是分的思想集中式服务发展到分布式服务从Collections.synchronizedMap(x)到1.7Concurr...

    MySQL 2020年04月22日 341 0
  • MySQL性能优化必知:长连接、短连接、连接池

    当数据库服务器和客户端位于不同的主机时,就需要建立网络连接来进行通信。客户端必须使用数据库连接来发送命令和接收应答、数据。通过提供给客户端数据库的驱动指定连接字符串后,客户端就可以和数据库建立连接了。可以查阅程序语言手册来获知通过何种方式使用短连接、长连接。1. 短连接短连接是指程序和数据库通信时需要建立连接,执行操作后,连接关闭。短连接简单来说就是每一次操作数据库,都要打开和...

    MySQL 2020年04月21日 458 0
  • mysql读写分离原理及配置

    1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础。将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重新执行一遍来实现的。复制过程中一个服务器充当主服务器,而一个或多个其它服务器充当从服务器。主服务器将更新写入二进制日志文件,并维护文件的一个索引以跟踪日志循环。这些日志可以记录发送...

    MySQL 2020年04月20日 1014 0
  • MySQL大表优化方案——从单表优化到分表分库

    单表优化除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量:字段尽量使用TINYINT、SMALLINT、MEDIUM_INT作为整数类型而非INT,如果非负则加上U...

    MySQL 2020年04月19日 980 0
  • 了解数据库类型及MySQL数据库常用命令行

    一、数据库1、数据库DataBase(DB):存储数据的仓库。2、数据库的分类(1) 关系型数据库(sql数据库):中型:mysql(端口号3306)、sql server大型:Oracle(端口号1521)(2) 非关系型数据库(no-sql数据库)MongoDB、Redis3、mysql软件:Sql yog:数据库客户端工具(图形用户界面工具)方便操作数据库。类似的工具:N...

    MySQL 2020年04月19日 289 0
  • 很用心的为你写了 9 道 MySQL 面试题

    MySQL 一直是本人很薄弱的部分,后面会多输出 MySQL 的文章贡献给大家,毕竟 MySQL 涉及到数据存储、锁、磁盘寻道、分页等操作系统概念,而且互联网对 MySQL 的注重程度是不言而喻的,后面要加紧对 MySQL 的研究。写的如果不好,还请大家见谅。非关系型数据库和关系型数据库区别,优势比较非关系型数据库(感觉翻译不是很准确)称为 NoSQL,也就是 Not Only...

    MySQL 2020年04月18日 292 0
  • 一份完整的 MySQL 开发规范,进大厂必看

    一、数据库命令规范1、所有数据库对象名称必须使用小写字母并用下划线分割2、所有数据库对象名称禁止使用mysql保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)3、数据库对象的命名要能做到见名识意,并且最后不要超过32个字符4、临时库表必须以tmp_为前缀并以日期为后缀,备份表必须以bak_为前缀并以日期(时间戳)为后缀5、所有存储相同数据的列名和列类型必须一致(...

    MySQL 2020年04月18日 346 0
  • MySql:阿里云Yum安装MySql 8.0,并配置用户及权限,极简操作!

    这是一篇结合官网文档,实际操作的图文笔记Yum命令 安装MySql下载MySql Yum存储库,选择对应的版本(以Centos 7 为例 选择EL7的)以wget命令为例(在local下新建一个mysql文件夹,将rpm文件下载到该路径下)#进入local文件夹cd /usr/local/#创建mysql文件夹(下载到其他地方也可以,下载到这里是为了方便管理)mkdir mys...

    MySQL 2020年04月17日 486 0
  • Mysql -乐观锁和悲观锁

    悲观锁介绍(百科):悲观锁,正如其名,它指的是对数据被外界(包括本系统当前的其他事务,以及来自外部系统的事务处理)修改持保守态度,因此,在整个数据处理过程中, 将数据处于锁定状态。悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了 加锁机制,也无法保证外部系统不会修改数据)。使用场景举例:以MySQL I...

    MySQL 2020年04月17日 313 0
  • mysql如何捕捉慢日志查询

    慢日志查询日志查询超过变量 long_query_time指定时间值的为慢查询,但是查询获取锁(包括锁等待)的时间不计入查询时间内,mysql 记录慢查询日志是在查询执行完毕且已经完全释放锁之后才记录,因为慢查询日志的记录顺序和执行sql的顺序可能不一致,注意 mysql5.1之后就支持微秒级的慢查询,对于dba而言一个查询0.5秒和运行0.05秒是非常不同的,前者可能索引使用...

    MySQL 2020年04月15日 365 0
  • MySQL 8.0来了,大势所趋,逆之者亡

    MySQL 8.0它lei了,大势浩浩荡荡,谁也挡不住MySQL被Sun收购后,搞了个过渡的6.0版本,没多久就下线了(有一次居然听说有人在线上用6.0版本,我惊得下巴都掉了)。被Oracle收购后,终于迎来了像样的5.6版本,之后就是5.7、8.0版本。这么看来,Sun的衰亡不无道理。P.S,上面说了6.0版本号已被用过,7.x系列版本专用于NDB Cluster,因而新版本...

    MySQL 2020年04月15日 1459 0
  • 手把手教你分析Mysql死锁问题

    前言前几天跟一位朋友分析了一个死锁问题,所以有了这篇图文详细的博文,哈哈~发生死锁了,如何排查和解决呢?本文将跟你一起探讨这个问题准备好数据环境模拟死锁案发分析死锁日志分析死锁结果环境准备数据库隔离级别:mysql> select @@tx_isolation;+-----------------+| @@tx_isolation |+-----------------...

    MySQL 2020年04月14日 325 0
  • Docker常用镜像安装:MySql Redis GitLab maven私服等

    学习Docker的过程就是安装各种镜像、环境搭建的过程。下面是常用Docker公共镜像的安装方式,记录下来,环境收藏~一、安装Mysql1.创建mysql下载镜像:docker pull centos/mysql-57-centos7创建容器:docker run -di --name=mysql --restart=always -p 3306:3306 -e MYSQL_R...

    MySQL 2020年04月13日 559 0
  • 非常重要的mysql数据库定时备份!

    数据是非常重要的,所以数据备份必不可少!比如受到攻击,或者人为误操作时,备份数据就派上用场,及时恢复数据,将影响降到最低。下面以mysql为例,利用mysqldump(mysql自带工具)工具进行备份,实现每天整点定时备份数据库(定时是利用linux的crontab,可以自己配置任意时间),并且只保留7天(时间可配置)假设数据库名为:test第一步.创建脚本文件夹mkdir /...

    MySQL 2020年04月12日 485 0