MySQL备份恢复:Xtrabackup锁问题分析
从XtraBackup的备份过程可以看出,XtraBackup可以实现Innodb表的无锁备份,但是一个数据库中,即使所有的业务表都是InnoDB表,但是还存在一些MySQL系统库下的user表等,均是myisam表(MySQL 8.0均替换为InnoDB),同时备份过程需要获取Binlog文件名和位置,也要保证表定义文件的一致性,所以从整个实例的角度,即使……
为什么I/O慢会导致Linux负载飙升?
一、CPU利用率和负载率的区别 先来一张 top 命令图。 这里要区别 CPU 负载(Load)和 CPU 利用率,它们是不同的两个概念,但它们的信息可以在同一个 top 命令中进行显示。 什么是负载? 简单来说,负载(Load)指标表示一段时间内,系统有多少个运行的任务,也就是 CPU 使用队列的长度统计信息,这个数字越小越好。任务的统计包含: 正在 ……
MySQL一条SQL语句查询执行过程
我们总是希望 MySQL 能够获得更高的查询性能,最好的办法是弄清楚 MySQL 是如何优化和执行查询的。一旦理解了这一点,就会发现:很多的查询优化工作实际上就是遵循一些原则让 MySQL 的优化器能够按照预想的合理方式运行而已。 同样,对于 MySQL 这个软件的整体架构我们也应该熟记于心,不能只会使用。比如,你有个最简单的表,表里只有一个 ID 字段,在……
MySQL支持的SQL模式介绍
一、SQL模式介绍 MySQL服务器可以在不同的SQL操作模式,并能应用这些模式不同的客户,根据不同的价值SQL模式系统 变量。数据库管理员可以设置全局SQL模式相匹配的网站服务器操作要求,每个应用程序可以设置会话 SQL模式自身的要求。 SQL模式定义MySQL应支持哪些SQL语法,以及应执行哪种数据验证检查。这样可以更容易地在不同的环境中使用MySQL,……
MySQL数据类型与属性
一、数据类型的作用 在关系型数据库中,表是由记录组成,而记录是由字段组成。所以我们在创建一张表时需要定义好每个字段,而每个字段也需要显式定义字段类型,MySQL支持多种数据类型,包括整数型、浮点型、字符型、二进制型、枚举型等等。 数据类型在数据库中扮演着基础但又非常重要的角色,对数据类型的选择将影响与数据库交互的应用程序的性能。通常来说,如果一个页内可以存放……
MySQL中NULL值讨论
学习过关系型数据库的伙伴都知道,NULL 是指不确定的值,在数据库中绝对是噩梦的存在;而空值,一般对字符串类型而言,指没有任何值的字符串类型,为字符类型的变量设置为空值:set @vs=””,空值跟无值不同。有人可能会问,无值是什么?无值,是指数据表中没有任何数据。无值和不确定值,单从字面意思上来看,两者之间的定义很清楚,一旦深究,这……
Hadoop实战:使用Maxwell将MySQL数据实时同步到HDFS
一、Maxwell介绍 Maxwell是一个守护程序,一个应用程序,能够读取MySQL Binlogs然后解析输出为json。支持数据输出到Kafka中,支持表和库过滤。 → Reference:http://maxwells-daemon.io → Download: https://github.com/zendesk/maxwell/releases/……
MySQL基准测试工具sysbench实践
一、Sysbench介绍 SysBench是一个模块化的、跨平台、多线程基准测试工具,主要用于评估测试各种不同系统参数下的数据库负载情况。它主要包括以下几种方式的测试: 1、cpu性能 2、磁盘io性能 3、调度程序性能 4、内存分配及传输速度 5、POSIX线程性能 6、数据库性能(OLTP基准测试) Sysbench的oltp主要用于评估测试各种不同系统……
MySQL客户端连接管理
MySQL连接管理器线程负责处理服务器侦听的网络接口上的客户端连接请求。连接管理器线程将每个客户端连接与专用于它的线程相关联,以处理该连接的身份验证和请求处理。 连接管理线程在必要时创建一个新线程,但是会先尝试避免这样做,首先查看线程缓存,看它是否包含可用于连接的线程。当连接结束时,如果缓存未满,则其线程返回到线程缓存中,用于下次使用。 在这种连接线程模……
MySQL之长连接、短连接、连接池
当数据库服务器和客户端位于不同的主机时,就需要建立网络连接来进行通信。客户端必须使用数据库连接来发送命令和接收应答、数据。通过提供给客户端数据库的驱动指定连接字符串后,客户端就可以和数据库建立连接了。可以查阅程序语言手册来获知通过何种方式使用短连接、长连接。 1. 短连接 短连接是指程序和数据库通信时需要建立连接,执行操作后,连接关闭。短连接简单来说就是每一……
如何选择MySQL版本?
一、MySQL官方版本 Oracle MySQL目前可分为4个版本:MySQL社区版、MySQL标准版、MySQL企业版、MySQL集群版。 MySQL社区版 可免费下载使用的开源版本,遵循GPL协议,包括如下的这些特性。可插拔的存储引擎架构;多存储引擎支持InnoDB、MyISAM、NDB(MySQL Cluster即采用NDB存储引擎)、Memory……