05 2021 档案
摘要:事务的ACID理论什么是ACID理论?ACID的四个特性ACID中C与CAP定理中C的区别?MySQL事务的隔离级别事务操作可能会出现的数据问题事务操作可能出现的更新丢失问题事务的隔离级别标准与实现小结MySQL SQL命令模拟测试相关问题InnoDB的RR级别下其实有部分场景还是会出现不可重复读问
阅读全文
摘要:前提概要什么是MVCC什么是当前读和快照读?当前读,快照读和MVCC的关系MVCC实现原理隐式字段undo日志Read View(读视图)整体流程MVCC相关问题RR是如何在RC级的基础上解决不可重复读的?RC,RR级别下的InnoDB快照读有什么不同? 前提概要什么是MVCC?MVCCMVCC,全
阅读全文
摘要:正确的理解MySQL的乐观锁,悲观锁与MVCC如果觉得对你有帮助,能否点个赞或关个注,以示鼓励笔者呢?!博客目录 | 先点这里 !首先声明,MySQL的测试环境是5.7 前提概念数据库并发的三种场景乐观锁和悲观锁的澄清悲观锁什么是悲观锁?悲观锁的实现悲观锁的优点和缺点乐观锁什么是乐观锁?乐观锁的实现
阅读全文
摘要:1:innodb 更新以页为单位 2:日志太多,binlog,redolog,undolog 3:doublewrite双写数据重复写入 4:页的分裂与合并
阅读全文
摘要:今天主要介绍下mysql一个崩溃恢复很重要的特性-重复写入。 doublewrite缓冲区是位于系统表空间中的存储区域,在该区域中,InnoDB会在将页面写入数据文件中的适当位置之前,从InnoDB缓冲池中刷新这些页面。仅在刷新页面并将其写入doublewrite缓冲区后,InnoDB才会将页面写入
阅读全文
摘要:MySQL 8.0新增特性use_invisible_indexes 是否使用不可见索引,MySQL 8.0新增可以创建invisible索引,这一开关控制优化器是否使用invisible索引,on表示考虑使用。MySQL 5.7新增derived_merge 派生表合并,类似Oracle的视图合并
阅读全文
摘要:MySQL在处理join查询时,遍历驱动表的记录,把驱动表的记录传递给被驱动表,然后根据join连接条件进行匹配。优化器通常会将更小的表作为驱动表,通过在驱动表上做额外的where条件过滤(Condition Filtering),能够将驱动表限制在一个更小的范围,以便优化器能够做出更优的执行计划。
阅读全文
摘要:说明 Percona XtraDB Cluster(简称PXC),是由percona公司推出的mysql集群解决方案。特点是每个节点都能进行读写,且都保存全量的数据。也就是说在任何一个节点进行写入操作,都会同步给其它所有节点写入到自己的磁盘。这点跟Oracle Rac有本质的区别,Rac是多个节点连
阅读全文
摘要:一、概述 官方文档中对relay_log_recovery参数的解释Enables automatic relay log recovery immediately following server startup. The recovery process creates a new relay
阅读全文
摘要:在正常项目开发过程中,如果MySQL版本从5.6升级到5.7版本,作为DBA在考虑数据库版本升级带来的影响时,一般会有几个注意点: sql_mode 默认值的改变 optimizer_switch 值的改变 备库升级影响主备复制 本文主要内容是MySQL升级到5.7版本之后,由于默认的 sql_mo
阅读全文
摘要:一、背景 1.1、需求来源 需要给客户将生产环境的数据恢复到测试环境,但是线上环境的xtrabackup全备数据量太大,拷贝下来比较麻烦,并且需要恢复的数据只有整库中的两张表的数据,所以客户只是将全备中的对应表的ibd文件以及frm文件拷贝下来了,要求根据ibd文件以及frm文件进行数据恢复。 1.
阅读全文
摘要:-- 窗口行数 select e.* ,row_number() over(partition by deptno order by empno) as ROW_NUMBER from emp e; -- SQL SELECT E.*, IF(@DEPTNO = DEPTNO, @RN := @RN
阅读全文
摘要:假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt 可以用${ }分别替换得到不同的值:${file#*/}:删掉第一个/ 及其左边的字符串:dir1/dir2/dir3/my.file.txt${file##*/}:删掉最后一个/ 及其左边的字符串:my.f
阅读全文
摘要:一、基础简介 1、Ansible简介 Ansible是一款基于Python开发的自动化运维工具,主要是实现批量系统配置、批量程序部署、批量运行命令、批量执行任务等等诸多功能。Ansible是一款灵活的开源工具,能够很大程度简化运维中的配置管理与流程控制方式,它利用推送方式对客户系统加以配置,这样所有
阅读全文
摘要:ansible入门Ansible是一个配置管理和配置工具,使用SSH连接到服务器并运行配置好的任务,服务器上不需要安装任何其他软件,只需要开启SSH,客户端的ansible会完成所有其他的工作。 首先安装Ansible:apt-get安装的版本很低,建议使用pip安装:sudo pip instal
阅读全文
摘要:Ansible--Module Ansible Module# Ansible Ad-hoc模式常用模块# ansible-doc 常用命令 # ansible-doc -h Usage: ansible-doc [-l|-F|-s] [options] [-t <plugin type> ] [p
阅读全文
摘要:Ansible--Ansible之Playbook Ansible之Playbook# Playbook介绍# playbook参考文档 Playbook与ad-hoc相比,是一种完全不同的运用ansible的方式,类似与saltstack的state状态文件。ad-hoc无法持久使用,playbo
阅读全文
摘要:Ansible快速入门# 介绍# Ansible是一款简单的运维自动化工具,只需要使用ssh协议连接就可以来进行系统管理,自动化执行命令,部署等任务。 Ansible的特点 1、ansible不需要单独安装客户端,也不需要启动任何服务2、ansible是python中的一套完整的自动化执行任务模块3
阅读全文