注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

标签:MySQL 5.7

MySQL InnoDB

MySQL 5.7秒级增加VARCHAR类型

在生产环境中,可能经常要做的且教烦的一个事情就是做DDL操作。最常见的就是增加字段、修改字段类型了。增加字段就不说了,从MySQL 5.6开始就支持Online DDL了。但改变字段类型,比如从CHAR变为VARCHAR;修改字段类型,比如增加VARCHAR大小,这些在MySQL 5.7之前还是会锁表的。从MySQL 5.7开始就支持了对于tinyint、i……继续阅读 »

彭东稳 8个月前 (11-01) 2762浏览 0评论 0个赞

MySQL InnoDB

MySQL 5.7 InnoDB COUNT(*)优化

在MySQL 5.7版本中,InnoDB实现了新的handler的records接口函数,当你需要表上的精确记录个数时,会直接调用该函数进行计算。 使用 实际上records接口函数是在优化阶段调用的,在满足一定条件时,直接去计算行级计数。其explain出来的结果相比老版本也有所不同,这里我们使用sysbench的sbtest表来进行测试,共200万行数据……继续阅读 »

彭东稳 12个月前 (06-27) 3481浏览 1评论 4个赞

MySQL

MySQL 5.7内部临时表使用

一、MySQL中的两种临时表 外部临时表 通过CREATE TEMPORARY TABLE 创建的临时表,这种临时表称为外部临时表。这种临时表只对当前用户可见,当前会话结束的时候,该临时表会自动关闭。这种临时表的命名与非临时表可以同名(同名后非临时表将对当前会话不可见,直到临时表被删除)。 内部临时表 内部临时表是一种特殊轻量级的临时表,用来进行性能……继续阅读 »

彭东稳 1年前 (2017-04-26) 4013浏览 0评论 3个赞

MySQL

MySQL文档存储快速入门指南

一、MySQL文档存储说明 关系数据库(如MySQL)通常存储结构化数据,需要提前定义好数据的格式。而NoSQL的出现就是为了打破这种僵局,使得开发人员可以存储非结构化数据,使用文档的方式进行存储数据,无需提前定义数据格式。早先MariaDB也有对非结构化的数据进行存储的方案,称为dynamic column,但是方案是通过BLOB类型的方式来存储。这样导致……继续阅读 »

彭东稳 1年前 (2017-04-21) 3903浏览 0评论 0个赞

MySQL

MySQL 5.7默认SQL模式带来的问题总结

在使用MySQL 5.7版本时,已经碰到了两起因为SQL_MODE的改变而导致的问题了,究其原因都是因为MySQL 5.7控制的更加严格了,所以在MySQL 5.6或MySQL 5.5有些SQL语句就无法在MySQL 5.7执行了(会给开发带来一个很诡异的问题,就是代码一样、环境一样、SQL一样、测试跟正式怎么就报错呢?)。 说一下我碰到的两起事件: 1、某……继续阅读 »

彭东稳 1年前 (2017-03-30) 6760浏览 5评论 7个赞

MySQL

MySQL 5.7新特性:在线收缩undo log表空间

一、MySQL 5.5时代的undo log InnoDB存储引擎中,Undo log一直都是事务多版本控制中的核心组件,它具有以下的核心功能: 事务的回退:事务在处理过程中遇到异常的时候可以rollback(撤销)所做的全部修改。 事务的恢复:数据库实例崩溃时,将磁盘的不正确数据恢复到交易前。 读一致性:被查询的记录有事务占用,转向回滚段找事务开始前的数据……继续阅读 »

彭东稳 1年前 (2017-03-23) 3098浏览 0评论 3个赞

MySQL

MySQL 5.7新特性:多线程备份工具mysqlpump使用

一、mysqlpump介绍 MySQL在备份方面包含了自身的mysqldump工具,但其只支持单线程工作,这就使得它无法迅速的备份数据。所以就有人写了mydumper工具,支持多线程,并且是行级粒度,支持正则匹配多数据库。MySQL官方当然也意识到了这个问题,所以从MySQL5.7开始就推出了mysqlpump工具,mysqlpump相对于之前的逻辑备份工具……继续阅读 »

彭东稳 2年前 (2016-12-13) 6757浏览 0评论 1个赞

MySQL

MySQL 5.7新特性:客户端使用加密连接

有这么一种需求,就是要求处理敏感字段,比如取出的密码或资金数据用***来表示,那么DBA就无法看到这部分的私人数据内容。这本身是一个很不错的安全处理方式,但若DBA在本地装一个类似tcpdump的工具,则依然能够通过获取得到的包得到想要的数据。因此,除了在程序端进行展示的安全处理,还需在MySQL服务器端开启安全的加密通信功能,这时就是SSL发挥功能的时候了……继续阅读 »

彭东稳 2年前 (2016-11-24) 4382浏览 0评论 0个赞

MySQL

MySQL 5.7新特性:多源复制实践

一、前言 MySQL 5.7的发布,在复制方面有了很大的改进,比如开始支持多源复制(multi-source)了。以及真正的支持多线程复制了。需要说明一点的是,多源复制可以使用基于二进制日志的复制或者基于事务的复制。下面开始配置基于二进制日志的多源复制。 什么是多源复制? 首先,我们需要清楚几种常见的复制模式: 1)一主一从 2)一主多从 3)级联复制 4)……继续阅读 »

彭东稳 2年前 (2016-11-22) 4108浏览 0评论 5个赞

MySQL

MySQL 5.7新特性:在线开启和关闭基于GTID的复制

一、前言 MySQL在5.6版本之前复制一直是基于二进制日志的复制,到了MySQL5.6时开始支持基于事务(GTIDs)的复制,并且开始支持多线程复制;但MySQL5.6版本的多线程只能基于多库。这就牵扯到了一个应用场景,就是从基于日志的复制在线变更到基于事务的复制,在MySQL5.6版本时这一动作只能重启主服务器才可以做到。但是到了MySQL 5.7版本时……继续阅读 »

彭东稳 2年前 (2016-11-21) 4929浏览 0评论 3个赞