Mysql
chenlvzhou
这个作者很懒,什么都没留下…
展开
-
tcpdump 使用介绍
介绍tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上。熟悉 tcpdump 的使用能够帮助你分析、调试网络数据。选项-n 表示不要解析域名,直接显示 ip。-nn** 不要解析域名和端口。-X 同时用 hex 和 ascii 显示报文的内容。-XX 同 -X,但同时显示以太网头部。-S 显示绝对的序列号(sequence number),而不是相对编号。-i 监听的网卡。-v, -vv, -vvv 显示更多的详细信息。-c number 截取 numb原创 2020-06-27 10:41:56 · 344 阅读 · 0 评论 -
Percona Toolkit命令使用集合(一)
1.pt-table-checksum 用于检测主从的数据是否一致。 常用参数: 1.--nocheck-replication-filters :不检查复制过滤器,建议启用。后面可以用--databases来指定需要检查的数据库。 2.--no-check-binlog-format : 不检查复制的binlog模式,要是binlog模式是原创 2014-11-11 15:51:41 · 1182 阅读 · 0 评论 -
MySQL InnoDB存储引擎之表(一)
主要介绍InnoDB存储引擎表的逻辑存储以及实现。重点介绍数据在表中是如何组织和存放的。1.索引组织表(index organized table) 在InnoDB存储引擎中,表都是根据主键顺序组织存放的,这种存储方式的表叫索引组织表。在InnoDB存在引擎表中,每张表都有个主键(Primary key),如果在创建表时没有显示定义主键,则会按照如下方式选择或者创建主键:a.判定原创 2014-12-01 15:31:23 · 2245 阅读 · 0 评论 -
MySQL InnoDB体系架构之内存
先上图1.缓冲池 InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。通常使用缓冲池来提高数据库的整体性能。缓冲池简单说就是一块内存,通过内存的速度弥补磁盘速度较慢对数据库性能的影响。在数据库中进行读操作时,首先将从磁盘读到的页存放在缓冲池中,下一次读取相同的页时,首先判定是否存在缓冲池中,如果有就是被命中直接读取,没有的话就从磁盘中读取。在数据库进行改操作原创 2014-11-27 14:36:48 · 2147 阅读 · 0 评论 -
py_innodb_page_info简介
py_innodb_page_info工具使用 此工具是《MySQL技术内幕 InnoDB存储引擎》作者姜承尧写的用来分析表空间中的各页得类型和信息,用python编写。最近我也在拜读这本书。由三个文件py_innodb_page_info.py,mylib.py和include.py组成。需要放在同一个目录下,chmod 755 这三个文件的权限。注意:py_innodb_page_i原创 2014-12-04 11:17:02 · 2802 阅读 · 0 评论 -
MySQL InnoDB存储引擎之表(二)
本篇是继续上一篇未完的部分继续说的。4.InnoDB数据页结构 页是InnoDB存储引擎管理数据库的最小磁盘单位。页类型为B-tree Node的页存放的就是表中行的实际数据。页由以下七个部分组成:File Header(文件头)、Page Header(页头)、Infimun和Supremum Records、User Records(行记录)、Free Space(空闲空间)、P原创 2014-12-03 17:10:42 · 2016 阅读 · 0 评论 -
Mysql Replication系列之原理及配置
Replication的概念:原创 2014-10-21 10:28:42 · 803 阅读 · 0 评论 -
MySQL InnoDB存储引擎之锁
概念: 锁是用来管理对共享文件的并发访问。innodb会在行级别上对数据库上锁。不过innodb存储引擎会在数据库内部其他多个地方使用锁,从而允许对不同资源提供并发访问。例如操作缓冲池中的LRU列表,删除,添加,移动LRU列表中的元素,为了保证一致性,必须有锁的介入。MyISAM引擎是表锁,而InnoDB提供一致性的非锁定读、行级锁,且行级锁没有相关额外的开销。 锁原创 2014-12-19 15:09:38 · 1588 阅读 · 0 评论 -
InnoDB存储引擎之Master Thread
InnoDB存储引擎的主要工作都是在一个单独的后台线程Master Thread中完成的。 1.InnoDB 1.0.x版本之前的Master Thread Master Thread具有最高的线程优先级别。其内部由多个循环组成:主循环(loop)、后台循环(backgroup loop)、刷新循环(flush loop)、暂停循环(suspend loop)。Mast原创 2014-12-09 12:00:51 · 1445 阅读 · 0 评论 -
MySQL Checkpoint机制
checkpoint干的事情: 将缓冲池中的脏页刷新回磁盘,不同之处在于每次从哪里取多少脏页刷新到磁盘,以及什么时候触发checkpoint。checkpoint解决的问题: 1.缩短数据库的恢复时间(数据库宕机时,不需要重做所有的日志,因checkpoint之前的页都已经刷新回磁盘啦) 2.缓冲池不够用时,将脏页刷新到磁盘(缓冲池不够用时,根据LRU算会溢出最近原创 2014-11-26 17:32:57 · 2213 阅读 · 0 评论 -
InnoDB存储引擎之InnoDB关键特性
1.插入缓冲 A.Insert Buffer 听名字会让人理解为插入缓冲是缓冲池中的一部分。其实不是这个样子的,InnoDB缓冲池中有Insert Buffer信息,但是Insert Buffer和数据页一样,也是物理页的一个组成部分。在InnoDB存储引擎中,行记录的插入顺序是按照主键递增的顺序进行插入的。因此插入聚集索引(Primary Key)一般是顺序的,不需要原创 2014-12-08 13:47:07 · 1512 阅读 · 0 评论 -
MySQL的SQL Mode
MySQL服务器能够工作在不同的SQL模式下,并能针对不同的客户端以不同的方式应用这些模式。这样,应用程序就能对服务器操作进行量身定制以满足自己的需求。这类模式定义了MySQL应支持的SQL语法,以及应该在数据上执行何种确认检查。可以使用“--sql-mode="modes"”选项,通过启动mysqld来设置默认的SQL模式。也能在启动之后,使用SET [SESSION|GLOBAL] sql_m原创 2014-12-02 14:51:26 · 752 阅读 · 0 评论 -
MySQL profiling的用法
MySQL数据库是常见的两个瓶颈是CPU和I/O的瓶颈,CPU在饱和的时候一般发生在数据装入内存或从磁盘上读取数据时候。磁盘I/O瓶颈发生在装入数据远大于内存容量的时候,如果应用分布在网络上,那么查询量相当大的时候那么平瓶颈就会出现在网络上,我们可以用mpstat, iostat, sar和vmstat来查看系统的性能状态。今天我们不讨论服务器硬件的性能瓶颈,只是谈谈MySQL系统本身,通常需要对原创 2015-07-07 11:27:47 · 2674 阅读 · 0 评论 -
基于MySQL协议的抓包工具:MySQL Sniffer
基于 MySQL 协议的抓包工具原创 2017-03-17 12:07:15 · 990 阅读 · 0 评论 -
mysql通过trace分析优化器如何选择执行计划
在我们调优MySQL的SQL时候,通常使用explain进行查看sql的执行计划。至于优化器为什么会这样选择,就无从得知。如果你想了解为什么,那么可以通过trace文件能够进一步了解为什么优化器选择A执行计划而不选择B执行计划.帮助我们更好的理解优化器的行为.打开trace,并设置格式为JsonSET OPTIMIZER_TRACE=“enabled=on”,END_MARKERS_IN_J...原创 2019-06-25 14:28:23 · 878 阅读 · 0 评论 -
mysql初窥sys库
sys数据库出现在5.6及以上的版本中,由快捷查询试图、辅助存储过程和函数组成的一组schema级别的集合,绝大部分的数据来至于performance_schema(如果未开启performance_schema,则sys系统库中的大多数试图将查无数据),少数来至于information_schema.sys中的试图大多数都是成对出现的,名称相同,其中一个带x$前缀(供程序访问),一个不带(人工查...原创 2019-06-25 17:07:39 · 464 阅读 · 0 评论 -
MySQL安装篇
环境介绍 系统:CentOS 5.8 64位 MySQL版本:mysql-5.6.22-linux-glibc2.5-x86_64 注意:以二进制安装。因为MySQL的编译需要很长的时间。安装步骤 1.安装的前期准备工作。 a.关闭selinux vim /etc/sysconfig/selinu原创 2014-12-17 01:00:10 · 821 阅读 · 0 评论 -
Percona Toolkit命令使用集合(二)
继续上次的命令使用集合(一)pt-heartbeat 通过监控实际的复制信息来监控MySQL复制延迟 常用参数: --check 检查从的延迟,检查一次就退出. --check-read-only 如果从服务器开启了只读模式,该工具会跳过任何插入. --create-table 在主上创建心跳监控的表(heratbeat),原创 2014-12-02 14:13:10 · 793 阅读 · 0 评论 -
xtrabackup全备、增备、恢复
全备: innobackupex --no-timestamp --defaults-file=/path/my.cnf /data/backup/20141105原创 2014-11-06 12:34:23 · 1059 阅读 · 0 评论 -
Mysql复制中的参数
复制中重要参数讲解: master上的参数: log-bin server-id log-bin-index(binlog索引文件前缀名,和log-bin一样,也可以是fullpath不可动态修改) binlog_format(日志格式 row、statment和mixed)原创 2014-10-23 10:47:31 · 669 阅读 · 0 评论 -
Percona Toolkit安装
到官网(http://www.percona.com/)下载最新的源码包原创 2014-10-31 11:55:44 · 652 阅读 · 0 评论 -
MySQL的InnoDB索引原理详解
摘要: 本篇介绍下Mysql的InnoDB索引相关知识,从各种树到索引原理到存储的细节。 InnoDB是Mysql的默认存储引擎(Mysql5.5.5之前是MyISAM,文档)。本着高效学习的目的,本篇以介绍InnoDB为主,少量涉及MyISAM作为对比。这篇文章是我在学习过程中总结完成的,内容主要来自书本和博客(参考文献会给出),过程中加入了一些自己的理解转载 2014-10-28 10:18:19 · 1060 阅读 · 0 评论 -
mysql_Innodb的undo_log和redo_log
众所周知,mysql支持多种存储引擎,现在常用的是MyISAM和InnoDB。MyISAM相对简单,但不支持事务,而InnoDB是事务安全型的。而InnoDB的事务处理离不开undo_log和redo_Log。mysql innodb存储引擎下面简单的介绍一下innodb的存储引擎内存缓冲池如果mysql不用内存缓冲池,每次读写数据时,都需要访问磁盘,必定会大大增加I/O请求,导致原创 2014-10-28 11:26:34 · 3974 阅读 · 0 评论 -
keepalived原理及配置段的说明
keepalived原理概念: 就是所谓的高可用或热备,用来防止单点故障(单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用的发生,那说到keepalived时不得不说的一个协议就是VRRP协议,可以说这个议就是keepalived实现的基础,那么首先我们来看看VRRP协议(虚拟路由冗余协议).Keepalived就是巧用VRRP协议来实现高可用性(HA)的.原理:k原创 2014-11-17 14:04:03 · 2533 阅读 · 0 评论 -
mysql semi-sync浅谈
在mysql异步复制的情况下,Mysql Master Server将自己的Binary Log通过复制线程传输出去以后,Mysql Master Sever就自动返回数据给客户端,而不管slave上是否接受到了这个二进制日志。在半同步复制的架构下,当master在将自己binlog发给slave上的时候,要确保slave的IO_THREAD接收日志写入relay-log以后,才会返回数据给客户端原创 2014-11-20 12:23:52 · 3233 阅读 · 0 评论 -
percona-xtrabackup yum安装
1.更新percona-xtrabackup的yum源 yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm2.原创 2014-11-04 11:44:07 · 1116 阅读 · 0 评论 -
percona xtradb cluster安装
Percona XtraDB Cluster简称:PXC, 是针对MySQL用户的高可用性和扩展性解决方案,基于Percona Server 。其包括了Write Set REPlication补丁,使用Galera 库,这是一个针对事务性应用程序的同步多主机复制插件。原创 2014-11-19 17:45:49 · 2202 阅读 · 0 评论 -
基于HAproxy的percona xtradb cluster的负载
HAProxy是一款提供高可用性、负载均衡以及基于TCP和HTTP应用的代理软件,HAProxy是完全免费的、借助HAProxy可以快速并且可靠的提供基于TCP和HTTP应用的代理解决方案。HAProxy适用于那些负载较大的web站点,这些站点通常又需要会话保持或七层处理。 HAProxy可以支持数以万计的并发连接,并且HAProxy的运行模式使得它可以很简单安全的整合进架构中,同时可以保护web原创 2014-11-21 17:17:19 · 2177 阅读 · 0 评论 -
myisam与innodb各自的特点
1、堆组织表;2、不支持事务;3、数据文件和索引文件分开存储;4、支持全文索引;5、主键索引和二级索引完全一样都是B+树的数据结构,只有是否唯一的区别(主键和唯一索引有唯一属性,其他普通索引没有唯一属性。B+树叶子节点存储的都是指向行记录的row pointer);6、有特殊计数器记录当前记录数;7、不支持Crash recovery;8、索引文件很容易损坏;原创 2014-11-21 10:49:22 · 800 阅读 · 0 评论 -
mysql基于keepalived的双主热备(HA)
前提: 存在互为主从的mysql实例(A:192.168.255.134 B:192.168.255.135)原创 2014-11-17 10:48:42 · 825 阅读 · 0 评论 -
MySQL文件
1.参数文件 这是MySQL启动时需要读取的配置文件,可以通过mysql --help | grep my.cnf来查看启动时查找的顺序。这些参数的值取决于编译MySQL时指定的默认值或源代码中指定参数的默认值。可以通过show variables查看数据库中的参数,也可以通过like来过滤参数名,还可以通过information_schema.global_variables视图来查找原创 2014-11-28 17:20:41 · 798 阅读 · 0 评论 -
mysql索引浅谈
索引的作用: 提高数据检索效率 提高聚合函数效率 提高排序效率 个别时候可以避免回表 减少多表关联时扫描行数 主键、唯一索引可以作为约束 列定义为DEFAULT NULL时,NULL值也会有索引,存放在索引树的最前端部分mysql 支持的索引: 普通索引:原创 2014-10-22 15:15:40 · 551 阅读 · 0 评论 -
利用mysqldump mysqlbinlong恢复数据
mysqldup参数mysqldump导出数据时,当这个参数的值为1的时候,mysqldump出来的文件就会包括CHANGE MASTER TO这个语句,CHANGE MASTER TO后面紧接着就是file和position的记录,在slave上导入数据时就会执行这个语句,salve就会根据指定这个文件位置从master端复制binlog。默认情况下这个值是1当这个值是2原创 2014-11-06 15:07:59 · 956 阅读 · 0 评论 -
B+/-Tree原理
B-Tree介绍 B-Tree是一种多路搜索树(并不是二叉的): 1.定义任意非叶子结点最多只有M个儿子;且M>2; 2.根结点的儿子数为[2, M]; 3.除根结点以外的非叶子结点的儿子数为[M/2, M]; 4.每个结点存放至少M/2-1(取上整)和至多M-1个关键字;(至少2个关键字) 5.非叶子结点的原创 2014-10-22 14:42:48 · 795 阅读 · 0 评论