摘要: 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow-queries[=file_name]选项启动时,mysqld 会写一个包含所有执行时间超过long_query_time 秒的SQL语句的日志 阅读全文
posted @ 2018-09-27 16:30 裸奔的小鸵鸟 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 2.undo log 2.1 基本概念 undo log有两个作用:提供回滚和多个行版本控制(MVCC)。 在数据修改的时候,不仅记录了redo,还记录了相对应的undo,如果因为某些原因导致事务失败或回滚了,可以借助该undo进行回滚。 undo log和redo log记录物理日志不一样,它是逻 阅读全文
posted @ 2018-09-27 15:48 裸奔的小鸵鸟 阅读(2722) 评论(0) 推荐(0) 编辑
摘要: innodb事务日志包括redo log和undo log。redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作。 undo log不是redo log的逆向过程,其实它们都算是用来恢复的日志:1.redo log通常是物理日志,记录的是数据页的物理修改,而不是某一行或 阅读全文
posted @ 2018-09-27 15:46 裸奔的小鸵鸟 阅读(1069) 评论(0) 推荐(0) 编辑
摘要: 概要: 我们知道InnoDB采用Write Ahead Log策略来防止宕机数据丢失,即事务提交时,先写重做日志,再修改内存数据页,这样就产生了脏页。既然有重做日志保证数据持久性,查询时也可以直接从缓冲池页中取数据,那为什么还要刷新脏页到磁盘呢?如果重做日志可以无限增大,同时缓冲池足够大,能够缓存所 阅读全文
posted @ 2018-09-27 15:35 裸奔的小鸵鸟 阅读(499) 评论(1) 推荐(0) 编辑
摘要: 查看lsn: show engine innodb status Log sequence number 2687274848548 Log flushed up to 2687274848516 Pages flushed up to 2687273963960 Last checkpoint a 阅读全文
posted @ 2018-09-27 15:33 裸奔的小鸵鸟 阅读(7313) 评论(0) 推荐(0) 编辑
摘要: MySQL binlog日志有三种格式,分别为Statement,MiXED,以及ROW! 1.Statement:每一条会修改数据的sql都会记录在binlog中。 优点:不需要记录每一行的变化,减少了binlog日志量,节约了IO,提高性能。(相比row能节约多少性能与日志量,这个取决于应用的S 阅读全文
posted @ 2018-09-27 15:31 裸奔的小鸵鸟 阅读(718) 评论(0) 推荐(0) 编辑
摘要: 通过show slave status查看到的Seconds_Behind_Master,从字面上来看,他是slave落后master的秒数,一般情况下,也确实这样,我们可以通过Seconds_Behind_Master数字查看slave是否落后于master,但是在一些环境中,他确会让我们产生幻觉 阅读全文
posted @ 2018-09-27 15:29 裸奔的小鸵鸟 阅读(11110) 评论(1) 推荐(1) 编辑
摘要: 一、事务的基本要素(ACID) 1、原子性(Atomicity):事务开始后所有操作,要么全部做完,要么全部不做,不可能停滞在中间环节。事务执行过程中出错,会回滚到事务开始前的状态,所有的操作就像没有发生一样。也就是说事务是一个不可分割的整体,就像化学中学过的原子,是物质构成的基本单位。 2、一致性 阅读全文
posted @ 2018-09-27 14:58 裸奔的小鸵鸟 阅读(568) 评论(0) 推荐(0) 编辑
摘要: pt-table-sync简介 顾名思义,它用来修复多个实例之间数据的不一致。它可以让主从的数据修复到最终一致,也可以使通过应用双写或多写的多个不相关的数据库实例修复到一致。同时它还内部集成了pt-table-checksum的校验功能,可以一边校验一边修复,也可以基于pt-table-checks 阅读全文
posted @ 2018-09-27 14:57 裸奔的小鸵鸟 阅读(406) 评论(0) 推荐(0) 编辑
摘要: 第一种:通过sql_slave_skip_counter跳过同步错误,适用于一般异常如插入时主键冲突 这种情况一般是在从库进行了写操作,错误提示 Last_SQL_Errno: 1062 Last_SQL_Error: Error 'Duplicate entry '14' for key 'PRI 阅读全文
posted @ 2018-09-27 14:55 裸奔的小鸵鸟 阅读(7504) 评论(0) 推荐(0) 编辑
摘要: mysql主从复制(replication同步)现在企业用的比较多,也很成熟.它有以下优点: 1.降低主服务器压力,可在从库上执行查询工作. 2.在从库上进行备份,避免影响主服务器服务. 3.当主库出现问题时,可以切换到从库上. 不过,用它做备份时就会也有弊端,如果主库有误操作的话,从库也会收到命令 阅读全文
posted @ 2018-09-27 14:54 裸奔的小鸵鸟 阅读(537) 评论(0) 推荐(0) 编辑
摘要: MHA简介 关于MHA MHA(Master HA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automating master failover 功能。MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会 阅读全文
posted @ 2018-09-27 14:52 裸奔的小鸵鸟 阅读(1006) 评论(0) 推荐(0) 编辑
摘要: 主从形式 mysql主从复制 灵活 一主一从 主主复制 一主多从 扩展系统读取的性能,因为读是在从库读取的; 多主一从 5.7开始支持 联级复制 用途及条件 mysql主从复制用途 实时灾备,用于故障切换 读写分离,提供查询服务 备份,避免影响业务 主从部署必要条件: 主库开启binlog日志(设置 阅读全文
posted @ 2018-09-27 14:51 裸奔的小鸵鸟 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 锁 在日常的开发过程中,为了控制线程的并发肯定会用到锁机制。对于数据库而言,锁机制就是数据库为了保证数据的一致性,而使各种共享资源在被并发访问变得有序所设计的一种规则。当然MySQL也不例外,根据不同的存储引擎,MySQL中锁的特性大致归纳为如下: (注:由于BDB已经被InnoDB所取代,我们只讨 阅读全文
posted @ 2018-09-27 14:50 裸奔的小鸵鸟 阅读(2365) 评论(0) 推荐(0) 编辑
摘要: MySQL迁移通常使用的有三种方法: 1、数据库直接导出,拷贝文件到新服务器,在新服务器上导入。 2、使用第三方迁移工具。 3、数据文件和库表结构文件直接拷贝到新服务器,挂载到同样配置的MySQL服务下。 第一种方案的优点:会重建数据文件,减少数据文件的占用空间,兼容性最好,导出导入很少发生问题,需 阅读全文
posted @ 2018-09-27 14:47 裸奔的小鸵鸟 阅读(3486) 评论(0) 推荐(0) 编辑
摘要: 本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化。 1、即将删除的特性1.1、InnoDB monitoring features,详见:WL#7377(访问地址:http://dev.mysql.com/worklog/task/?id=7377,下面的其他WL,可以自行替换 阅读全文
posted @ 2018-09-27 14:46 裸奔的小鸵鸟 阅读(723) 评论(0) 推荐(0) 编辑
摘要: 组建MySQL集群的几种方案LVS+Keepalived+MySQL(有脑裂问题?但似乎很多人推荐这个)DRBD+Heartbeat+MySQL(有一台机器空余?Heartbeat切换时间较长?有脑裂问题?)MySQL Proxy(不够成熟与稳定?使用了Lua?是不是用了他做分表则可以不用更改客户端 阅读全文
posted @ 2018-09-27 14:44 裸奔的小鸵鸟 阅读(1486) 评论(0) 推荐(0) 编辑
摘要: 1、优化方式 硬件优化=》系统优化=》mysql配置优化=》SCHEMA优化=》sql优化=》其他解决方案(redis or MongoDB or Cassandra or HBase) 2、mysql配置分析 1)常见瓶颈 90%系统瓶颈都在IO上,所以提高IOPS尤为总要,iowait过高,加内 阅读全文
posted @ 2018-09-27 14:33 裸奔的小鸵鸟 阅读(403) 评论(0) 推荐(0) 编辑
摘要: Mysql Innodb后台线程 工作方式 首先Mysql进程模型是单进程多线程的。所以我们通过ps查找mysqld进程是只有一个。 工作方式 体系架构 InnoDB存储引擎的架构如下图所以,是由多个内存块组成的内存池,同时又多个后台线程进行工作,文件是存储磁盘上的数据。 体系架构 后台线程 上面看 阅读全文
posted @ 2018-09-27 14:31 裸奔的小鸵鸟 阅读(8282) 评论(0) 推荐(0) 编辑
摘要: 1.1. Log & Checkpoint Innodb的事务日志是指Redo log,简称Log,保存在日志文件ib_logfile*里面。Innodb还有另外一个日志Undo log,但Undo log是存放在共享表空间里面的(ibdata*文件)。 由于Log和Checkpoint紧密相关,因 阅读全文
posted @ 2018-09-27 14:26 裸奔的小鸵鸟 阅读(542) 评论(0) 推荐(0) 编辑