- 博客(24)
- 收藏
- 关注
转载 MySQL复习笔记-事务隔离:为什么你改了我还看不见?
提到事务,你肯定不陌生,和数据库打交道的时候,我们总是会用到事务。最经典的例子就是转账,你要给朋友小王转 100 块钱,而此时你的银行卡只有 100 块钱。转账过程具体到程序里会有一系列的操作,比如查询余额、做加减法、更新余额等,这些操作必须保证是一体的,不然等程序查完之后,还没做减法之前,你这 100 块钱,完全可以借着这个时间差再查一次,然后再给另外一个朋友转账,如果银行这么整,不就乱了么?这时就要用到“事务”这个概念了。简单来说,事务就是要保证一组数据库操作,要么全部成功,要么全部失败。在 MyS
2020-08-05 22:54:54
170
1
原创 MySQL复习笔记-一条SQL更新语句是如何执行的?
前面我们系统了解了一个查询语句的执行流程,并介绍了执行过程中涉及的处理模块。相信你还记得,一条查询语句的执行过程一般是经过连接器、分析器、优化器、执行器等功能模块,最后到达存储引擎。那么,一条更新语句的执行流程又是怎样的呢?之前你可能经常听 DBA 同事说,MySQL 可以恢复到半个月内任意一秒的状态,惊叹的同时,你是不是心中也会不免会好奇,这是怎样做到的呢?我们还是从一个表的一条更新语句说起,下面是这个表的创建语句,这个表有一个主键 ID 和一个整型字段 c:mysql> create table
2020-08-04 00:12:08
164
转载 MySQL复习笔记-一条SQL查询语句是如何执行的?
导航连接器查询缓存分析器优化器执行器小结最近移交了MySQL运维工作。相对来说比较轻松。于是开始学习一些最近比较火的数据库TIDB、clickhouse、Hbase、Rocksdb的运行原理。学习过程中想和MySQL的进行一些对比,发现MySQL一些基本原理有一些模糊了,于是就想着趁这个机会进行一些复习,再了解一下MySQL8.0的一些新特性。看看能不能有一些新的启发。复习过程我会参考林晓斌老师的《MySQL实战45讲》逐步进行复习,并在此基础上结合平时遇到的一些问题进行一些补充。课程地址:MySQL
2020-07-31 13:25:40
253
2
原创 MySQL Group Replication-现有普通复制集群提升为Group Replication
上一篇测试了各种场景下,向Group Replication中添加新节点。那么,如果原来有一套master-slave集群,需要怎么把它改造成Group Replication集群呢?Group Replication是基于GTID来复制的,那么第一步就是需要将普通复制改造成GTID复制。有了GTID那么将Master-Slave结构改造成Group Replication就很方便了。搭建普通复制环
2016-10-19 16:10:11
3965
1
原创 MySQL Group Replication增加节点
在上一篇文章中,我们大概介绍了Mysql Group Replication的构架及集群搭建步骤。那么我们知道,一组优秀的集群环境有一个很必要的特性,那就是可拓展性。Group Replication的拓展性怎么样呢?我们设定如下几个场景,来看看Group Replicaiton是否方便拓展:总执行的事务量较少,而且所有的binlog都保留完整。总事务量较少,binlog只保留部分。总事务量很
2016-10-17 16:45:41
3593
2
原创 MySQL Group Replication初测
MySQL Group Replication对测试版(on labs)的Group Replication的第一印象:这个MySQL插件让多主结构的MySQL集群能够进行全更新(update everywhere)。 它糅合了分布式系统(比如组通信)和RDBMS中replication的技术和概念。 通过这个插件,一组MySQL服务器组成了一个完美的分布式、强一致性的集群,集群内的MySQL服
2016-10-14 16:03:10
3353
1
转载 MySQL体系结构详解——文件
Mysql主要文件类型有如下几种: 参数文件:mysql实例启动的时候在哪里可以找到数据库文件,并且指定某些初始化参数,这些参数定义了某种内存结构的大小等设置,还介绍了参数类型以及定义作用域。 日志文件:记录mysql对某种条件做出响应时候写入的文件。 Socket文件:当用linux的mysql命令行窗口登录的时候需要的文件 Pid文件:mysql实例的进程文件 Mysql表结构文件:存
2016-07-12 14:58:26
764
转载 Mysql体系结构详解——后台线程(待更新)
本文只是一个初稿,还有很多不确定的地方。晚上在看看官方文档看看。InnoDB存储引擎是多线程的模型,因此其后台有多个不同的后台线程,负责处理不同的任务。1.Master ThreadMaster Thread是一个非常核心的后台线程,主要负责将缓冲池中的数据异步刷新到磁盘,保证数据的一致性,包括脏页的刷新、合并插入缓冲(INSERT BUFFER)、UNDO页的回收等。2.5节会详细地介绍各个版本中
2016-07-07 13:33:20
1696
转载 MySQL体系结构详解——组件
http://www.cnblogs.com/yjf512/archive/2012/02/06/2339496.html了解MySql必须牢牢记住其体系结构图,Mysql是由SQL接口,解析器,优化器,缓存,存储引擎组成的。Connectors指的是不同语言中与SQL的交互Management Serveices & Utilities系统管理和控制工具Connection Pool 连接
2016-07-06 10:39:08
4464
原创 Mysql体系构架详解——内存
http://www.bitscn.com/pdb/mysql/201405/227583.html http://blog.csdn.net/wyzxg/article/details/7268122 http://blog.csdn.net/wyzxg/article/details/7268175从内存的使用方式来说,MySQL数据库的内存使用主要分为以下两类1.线程独享内存2.
2016-07-05 16:17:54
2805
原创 MySql Null注意事项
MySql Null注意事项在mysql中使用null值时有很多注意事项,踩过不少坑,在此总结以下。(IFNULL()函数可以将NULL值转换成你想要的值,用法为:IFNULL(expr1,expr2))
2016-05-30 15:15:31
636
转载 sync_binlog innodb_flush_log_at_trx_commit 浅析
innodb_flush_log_at_trx_commit和sync_binlog 两个参数是控制MySQL 磁盘写入策略以及数据安全性的关键参数。本文从参数含义,性能,安全角度阐述两个参数为不同的值时对db 性能,数据的影响.一 参数意义innodb_flush_log_at_trx_commit如果innodb_flush_log_at_trx_commi
2016-03-24 22:24:10
504
转载 mysql备份之Xtrabackup
Xtrabackup是一个对InnoDB,做数据备份的工具,支持在线热备份(备份时不影响数据读写),是商业备份工具InnoDB Hotbackup的一个很好的替代品。Xtrabackup中包含两个工具: * xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表。 * innobackupex - 对xtrabackup封装的perl脚本,
2016-01-13 23:03:49
2667
原创 MySql备份之mysqldump
简介mysqldump是数据库用来备份和数据转移的一个工具,产生一系列SQL语句,之后重新执行以产生备份的库、表及数据。也可产生CSV、XML等格式的数据。适用于各类引擎的表。一般在数据量很小的时候(几个G)可以用于备份。当数据量比较大的情况下,就不建议用mysqldump工具进行备份了;mysqldump是一个很好用的mysql数据转移工具,具有兼容强强、跨版本等特点。mysqldump
2016-01-12 23:28:15
600
转载 MySQL在线DDL工具pt-online-schema-change
mysql5.6中虽然引进了online DDL的功能,但是因为支持不够全面而且部分操作还是会阻塞DML语句,所以OSC还是相当有必要的mysql online DDL原理:http://blog.csdn.net/hubo890224/article/details/50465818原理pt-online-schema-change模拟了MySQL内部alter ta
2016-01-06 19:58:50
814
转载 MySql online DDL 原理
背景dba的日常工作肯定有一项是ddl变更,ddl变更会锁表,这个可以说是dba心中永远的痛,特别是执行ddl变更,导致库上大量线程处于“Waiting for meta data lock”状态的时候。因此mysql 5.6的online ddl特性是dba们最期待的新特性,这个特性解决了执行ddl锁表的问题,保证了在进行表变更时,不会堵塞线上业务读写,保障在变更时,库依然能正常对外
2016-01-05 22:48:57
3588
1
转载 percona-toolkit 之 【pt-table-checksum】、【pt-table-sync】说明
摘要:工作上需要把一个从库提升为主库,但对从库和主库的数据一致性不能保证一样,所以就利用 pt-table-checksum 工作来检查主从的一致性(之前写过用1.0.1的版本可以进行操作的文章,但是在新版本操作就不行了,只能重新来过)以及通过 pt-table-sync 如何修复这些不一致的数据。前提:下载地址:wget www.percona.com/downloads
2015-12-29 09:00:22
616
原创 知己知彼
今天去参加了浙江oracle用户组组织的会议,听了很多大师的分享。体会到最深的有两点,一点是大师们思考问题的方式方法,还有一点就是知己知彼。知己知彼源自孙子兵法,应用到IT技术层面就表示说,技术人员要对业务系统、服务器、操作系统、数据库系统、存储系统有一个全面的了解才能更好的在运维、构架过程中想到更好的解决方案。对这些系统的了解包含如下几个方面。1、这些系统的基本运行原理。
2015-12-19 21:36:15
1161
原创 mysql query cache详解
Query Cache 原理 当mysql接收到一条select类型的query时,mysql会对这条query进行hash计算而得到一个hash值,然后通过该hash值到query cache中去匹配,如果没有匹配中,则将这个hash值存放在一个hash链表中,同时将query的结果集存放进cache中,存放hash值的链表的每一个hash节点存放了相应query结果集
2015-12-14 19:30:39
1098
原创 mysql MMM详解
master-master monitor(MMM)一、MMM简介 MMM即Master-Master Replication Manager for MySQL(mysql主主复制管理器)关于mysql主主复制配置的监控、故障转移和管理的一套可伸缩的脚本套件(在任何时候只有一个节点可以被写入),这个套件也能对居于标准的主从配置的任意数量的从服务器进行读负载均衡,所以你可以用它来在一组居于复制的
2015-11-25 16:48:37
1507
转载 运维工程师必备之MySQL数据的主从复制、半同步复制和主主复制详解
一、MySQL复制概述 ⑴、MySQL数据的复制的基本介绍 目前MySQL数据库已经占去数据库市场上很大的份额,其一是由于MySQL数据的开源性和高性能,当然还有重要的一条就是免费~不过不知道还能免费多久,不容乐观的未来,但是我们还是要能熟练掌握MySQL数据的架构和安全备份等功能,毕竟现在它还算是开源界的老大吧! MySQL数据库支持同步复制、单向、异步复制,
2015-11-24 11:18:17
870
转载 CentOS6.5下添加epel源
0.安装yum优先级插件yum install yum-priorities1.epel简介: https://fedoraproject.org/wiki/EPEL/zh-cnrpm -Uvh http://mirrors.ustc.edu.cn/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpmrpm -Uvh http:/
2015-11-24 09:17:43
1084
转载 mysql 日志详解
目录1、日志分类2、各种日志介绍1、日志分类错误日志查询日志慢查询日志事务日志二进制日志中继日志2、各种日志介绍2.1、错误日志默认时错误日志的存放位置在数据目录中,名称为“server_name.err”错误日志记录的事件:a)、服务器启动关闭过程中的信息b)、服务器运行过程中的错误信息c)、事件调试器运行一个事件时间生的信息d
2015-11-18 22:30:21
406
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人