随笔- 153
文章- 0
评论- 18
阅读-
50万
随笔分类 - MySQL
1
Mysql事件调度器学习
摘要:在cassandra数据库中,有一个叫做TTL的功能,即插入一条记录时,可以指定某一字段对应的TTL值,比如30s,那么当TTL到达30s后该条记录就会被自动删除。目前MySQL并未直接提供TTL的功能,但是我们可以通过event schedule功能实现。 创建一张测试表 首先假设一些记录的exp
阅读全文
ERROR 1709 (HY000): Index column size too large. The maximum column size is 767 bytes.
摘要:MySQL版本5.6.35 在一个长度为512字符的字段上创建unique key报错 MySQL用1到2个额外字节记录该字段的长度,当字段长度小于等于255时使用1个字节记录字段长度,当长度大于255时使用2~4个字节记录字段长度,字段file_path的长度为512*3+2=1538个字节,超过
阅读全文
InnoDB存储引擎介绍-(7) Innodb数据页结构
摘要:数据页结构 File Header Page Header Infimum + Supremum Records User Records InnoDB不想每次都依据B+Tree键的顺序来插入新行,因为这可能需要移动大量的数据 因此InnoDB插入新行时,通常是插入到当前行的后面(Free Spac
阅读全文
InnoDB存储引擎介绍-(6) 二. Innodb Antelope文件格式
摘要:InnoDB存储引擎和大多数数据库一样(如Oracle和Microsoft SQL Server数据库),记录是以行的形式存储的。这意味着页中保存着表中一行行的数据。到MySQL 5.1时,InnoDB存储引擎提供了Compact和Redundant两种格式来存放行记录数据,Redundant是为兼
阅读全文
InnoDB存储引擎介绍-(6) 一. Innodb Antelope 和Barracuda区别
摘要:分类 Antelope是innodb-base的文件格式,Barracude是innodb-plugin后引入的文件格式,同时Barracude也支持Antelope文件格式。两者区别在于: ROW_FORMAT=REDUNDANT compact的存储格式为首部为一个非NULL的变长字段长度列表
阅读全文
InnoDB存储引擎介绍-(5) Innodb逻辑存储结构
摘要:如果创建表时没有显示的定义主键,mysql会按如下方式创建主键: 首先判断表中是否有非空的唯一索引,如果有,则该列为主键。 如果不符合上述条件,存储引擎会自动创建一个6字节大小的指针。 当表中有多个非空的唯一索引,会选择建表时第一个定义的非空唯一索引。注意根据的是定义索引的顺序,不是创建列的顺序。
阅读全文
InnoDB存储引擎介绍-(4)Checkpoint机制二
摘要:原文链接 http://www.cnblogs.com/chenpingzhao/p/5107480.html 一、简介 思考一下这个场景:如果重做日志可以无限地增大,同时缓冲池也足够大,那么是不需要将缓冲池中页的新版本刷新回磁盘。因为当发生宕机时,完全可以通过重做日志来恢复整个数据库系统中的数据到
阅读全文
InnoDB存储引擎介绍-(4)Checkpoint机制一
摘要:检查点的工作机制: innodb会自动维护一个检查点的机制,叫做 fuzzy checkpointing(当然sharp checkpoint也是检查点之一),fuzzy checkpointing就是将buffer pool当中的数据页信息小批量的刷新到磁盘。但是我们没有必要单批次批次的对buff
阅读全文
InnoDB存储引擎介绍-(3)InnoDB缓冲池配置详解
摘要:原文链接 http://www.ywnds.com/?p=9886 一、InnoDB缓冲池 InnoDB维护一个称为缓冲池的内存存储区域 ,用于缓存内存中的数据和索引。了解InnoDB缓冲池的工作原理,并利用它来保存内存中经常访问的数据,这是MySQL调优的一个重要方面。 1.1 LRU(least
阅读全文
InnoDB存储引擎介绍-(2)redo和undo学习
摘要:01 – Undo LogUndo Log 是为了实现事务的原子性,在MySQL数据库InnoDB存储引擎中,还用Undo Log来实现多版本并发控制(简称:MVCC)。 - 事务的原子性(Atomicity)事务中的所有操作,要么全部完成,要么不做任何操作,不能只做部分操作。如果在执行的过程中发生
阅读全文
InnoDB存储引擎介绍-(1)InnoDB存储引擎结构
摘要:首先以一张图简单展示 InnoDB 的存储引擎的体系架构. 从图中可见, InnoDB 存储引擎有多个内存块,这些内存块组成了一个大的内存池,主要负责如下工作: 维护所有进程/线程需要访问的多个内部数据结构 缓存磁盘上的数据, 方便快速读取, 同时在对磁盘文件修改之前进行缓存 重做日志(redo l
阅读全文
MySQL共享表空间概念
摘要:1.表空间概念 Innodb存储引擎可将所有数据存放于ibdata*的共享表空间,也可将每张表存放于独立的.ibd文件的独立表空间.共享表空间以及独立表空间都是针对数据的存储方式而言的。 共享表空间 某一个数据库的所有的表数据,索引文件全部放在一个文件中,默认这个共享表空间的文件路径在data目录下
阅读全文
MySQL压力测试(1)-mysqlslap
摘要:mysqlslap是从MySQL的5.1.4版开始就开始官方提供的压力测试工具。通过模拟多个并发客户端并发访问MySQL来执行压力测试,同时提供了较详细的SQL执行数据性能报告,并且能很好的对比多个存储引擎(MyISAM,InnoDB等)在相同环境下的相同并发压力下的性能差别。 语法 常用参数 说明
阅读全文
MySQL5.6复制技术(4)-MySQL主从复制过滤参数
摘要:复制的过滤主要有2种方式: 复制只能扩展读取,不能扩展写入,对数据进行分区可以进行扩展写入。 复制的优化: 在mysql复制环境中,有8个参数可以让我们控制,需要复制或需要忽略不进行复制的DB或table分别为: 下面二项需要在Master上设置: Binlog_Do_DB:设定哪些数据库需要记录B
阅读全文
MySQL5.6复制技术(3)-MySQL主从复制线程状态转变
摘要:一、主库线程状态(State)值 以下列表显示了主从复制中主服务器的Binlog Dump线程的State列中可能看到的最常见状态(SHOW PROCESSLIST)。如果Binlog Dump线程在主服务器上看不到,这意味着复制没有运行,也就是说,目前没有连接任何Slave主机。 Sending
阅读全文
MySQL5.6复制技术(2)-主从部署以及半同步配置详细过程
摘要:当前环境规划 一. MySQL数据库安装 1. 创建MySQL用户和组 2. 配置MySQL用户环境变量 3. 下载MySQL二进制包并安装 4. 配置MySQL数据库(主备操作) 4.1 创建MySQL配置文件/etc/my.cnf 4.2 初始化MySQL数据库 4.3 启动MySQL数据库,并
阅读全文
MySQL5.6复制技术(1)-原理详解
摘要:SQL复制功能介绍 MySQL内建的复制功能是构建大型,高性能应用程序的基础。这类应用使用所谓的“水平扩展”的架构。我们可以通过为服务器配置一个或多个备库的方式来进行数据同步,将MySQL的数据分布到多个系统上去。复制过程中一台主库(master)服务器充可以同步数据到多台从库服务器上去。从库服务器
阅读全文
AWS EC2 MySQL迁移到RDS案例
摘要:Amazon Relational Database Service (Amazon RDS) 是一种Web 服务,可让用户更轻松地在云中设置、操作和扩展关系数据库。它可以为行业标准关系数据库提供经济高效且可以调节大小的容量,并管理常见 数据库管理任务。 现有的环境如下,计划将MySQL主库bill
阅读全文
mysqldump导出报错"mysqldump: Error 2013: Lost connection to MySQL server during query when dumping table `file_storage` at row: 29"
摘要:今天mysql备份的crontab自动运行的时候,出现了报警,报警内容如下 一开始我把故障的错误点定位在"mysqldump: Couldn't execute 'show fields from `revision`': MySQL server has gone away (2006)"这段报错
阅读全文
1