本文笔者示例中的mydumper版本为 mydumper0.9.1。简介mydumper是一款开源的MySQL逻辑备份工具,主要由C语言编写。与MySQL自带的mysqldump类似,但是mydumper更快更高效。mydumper的一些优点特性:轻量级C语言开发支持多线程备份数据,备份后按表生成多个备份文件支持事务性和非事务性表一致性备份支持将导出的文件压缩,节约空间支持多线程恢复支持已守护进程模式工作,定时快照和连续二进制日志支持按指定大小将备份文件切割数据与建表语句分离下载安装安装方式非常多,以下介绍几种常见的方式。Ubuntu中自带了myloadersudoapt-getinstall
大家好,我是咔咔不期速成,日拱一卒之前ElasticSearch系列文章中提到了如何处理空值,若为Null则会直接报错,因为在ElasticSearch中当字段值为null时、空数组、null值数组时,会将其视为该字段没有值,最终还是需要使用exists或者null_value来处理空值大多数ElasticSearch的数据都来自于各类数据库,这里暂且只针对于MySQL,各个开源软件中都默认兼容各种Null值,空数组等等若从根源上截断就可以省很多事,直到现在很多开发小伙伴还是坚韧不拔的给字段的默认值还是Null本期就来聊一聊为什么不建议给字段的默认值设置为N
大家好,我是咔咔不期速成,日拱一卒通过上期文章知道了在MySQL中存在三种join的算法,分别为NLJ、BNLJ、BNL,总结来说分为索引嵌套循环连接、缓存块嵌套循环连接、粗暴循环连接。另外还知道了一个新的概念join_buffer,作用就是把关联表的数据全部读入join_buffer中,然后从join_buffer中一行一行的拿数据去被驱动表中查询。由于是在内存中获取数据,因此效率还是会有所提升。同时在上期文章中遇到了一个陌生的概念hash_join,在上期中没有详细说明,本期会进行详述。一、Multi-RangeRead优化在介绍本期主题时先来了解一个知识点Mu
1概念区分普通索引V.S唯一索引普通索引可重复,唯一索引和主键一样不能重复。唯一索引可作为数据的一个合法验证手段,例如学生表的身份证号码字段,人为规定该字段不得重复,那么就使用唯一索引。(一般设置学号字段为主键)主键V.S唯一索引主键保证DB的每一行都是唯一、不重复,比如身份证,学号等,不重复。唯一索引的作用跟主键一样。但在一张表里面只能有一个主键,不能为空,唯一索引可有多个。唯一索引可有一条记录为null。比如学生表:在学校,一般用学号做主键,身份证号作为唯一索引在教育局,就把身份证号弄成主键,学号作为唯一索引所以选谁做主键,取决于业务需求。2案例某居民系统,每人有唯一身份证号。若系统要按身
3.MyCAT实现MySQL读写分离3.1架构图及环境说明四台服务器1主节点:MariaDB-MasterCentOS8.4IP:192.168.250.18/2410.3.28-MariaDB2从节点:MariaDB-SlaveCentOS8.4IP:192.168.250.28/2410.3.28-MariaDB3MyCAT服务器:Mycat-ServerCentOS8.4IP:192.168.250.8/24Mycat-server-1.6.7.64Clinet客户端:Client-CentOS79CentOS7.9IP:192.168.250.7/2410.3.28-MariaDB用其
2.XtraBackup实现全量+增量+Binlog恢复库2.1XtraBackup概述2.1.1XtraBackup介绍PerconaXtraBackup是一款基于MySQL的服务器的开源热备份实用程序,备份时不影响数据库的正常读写,它可以备份MySQL5.1,5.5,5.6,5.7,8.0服务器上的InnoDB,XtraDB和MyISAM表的数据,以及带有XtraDB的Percona服务器。 xtrabackup功能:在不暂停数据库的情况下创建热的InnoDB备份进行MySQL的增量备份将压缩的MySQL备份传输到另一台服务器在MySQL服务器之间移动表格轻松创建新的MySQL复制从站
在日常开发中,我们经常会通过SQL对数据库中的基础数据元素进行查询,通过对业务具有相关性的数据表进行关联组合,生成新的数据模型来达到我们将数据转换为业务信息的目的,但不掌握查询元素的逻辑处理次序就开始用SQL编程,在日常工作中很容易碰到令人费解的问题。 所以了解SQL执行的逻辑查询过程可以帮助我们更加自如的应用SQL查询,虽然SQL的逻辑查询的处理步骤看起来很低效,但SqlServer在实际的执行过程中数据库引擎会通过查询优化器来生成最有效的物理处理过程,查询的实际物理过程与逻辑处理过程有很大不同,但逻辑查询过程中的执行的步骤是通过逻辑步骤表述的方式让我们更容易理解SQL查询处理中的
演示MySQL版本为MySQL5.7.22通过sys.innodb_lock_waits视图表查看Innodb当前事务锁等待信息,默认是按照发生锁等待的开始时间升序排列的;wait_started字段即innodb_trx表的trx_wait_started字段sys.innodb_lock_waits视图数据来源:information_schema.innodb_trx,information_schema.innodb_locks,information_schema.innodb_lock_waits提示:mysql8.0之后的版本,sys.innodb_lock_waits视图信息
一、MDL锁的介绍MySQL5.7版本之前并没有提供一个方便的途径来查看MDL锁,github上有一名为mysql-plugin-mdl-info的项目,通过插件的方式来查看,于是在MySQL5.7中的performance_schea库下新增了一张表metadata_locks,用其来查看MDL锁那是相当的方便:不过默认PS并没有打开此功能,需要手工将wait/lock/metadata/sql/mdl监控给打开:UPDATEperformance_schema.setup_consumersSETENABLED='YES'WHERENAME='global_instrumentatio