目录

阿里数据库产品rds

淘宝数据库架构

数据库下载

Mysql3种安装方法

mysql_install_db安装数据库命令脚本中有生成初始mysql数据

也可以把mysql_install_db集合到mariadb.service服务中

表联系类型-1对多

表联系类型-多对多

联系表删除外键表

Mysql实例

Myql体系结构

语句执行流程

数据库远程软件

Mysql字符校对规则

SELECT语句执行顺序

内外连接

Msyql架构

查询缓存优化

索引

索引树

索引-possible

索引-主键索引+辅助索引

复合索引第二例可能是无序的,所以在复合索引单独使用无作用

存储引擎

存储引擎-物理结构

存储引擎-MVCC机制

多版本并发控制机制,

多个用户同时修改数据不会产生影响

MVCC

在原有表额外增加2个隐藏字段,用来记录事务号

createversion delete_version

添加记录的时候会记录添加事务的版本号

某条记录被删除,会记录删除事务的版本号

新用户查看数据也是产生一个事务,能看到的内容只能是在他之前发生的事务

存储引擎-blackhole

表空间迁移

事务-生命周期

事务-redo-undo恢复-断电的3种情况

比对的是磁盘中ibd文件中lsn,T0和redo log中

断电情况3

LSN号不一致触发前滚,构造脏页

前滚后,CSR日志发现日志中commit状态已提交,不需要回滚了

事务-redo-undo-原理

事务-隔离界别-脏读

Ru模式下,未提交别的用户就能查到最新修改数据

事务-隔离级别-不可重复读

左边执行完提交后,就可以看到最新数据,rc(读已提交)模式下

事务-隔离级别-幻读

RC模式下幻读

事务-多会话commit区别

media/image43.png

事务-死锁

2个事务交差重复修改,都发生等待,出现死锁

事务-行级锁等待

Innodb参数-innodb_flush_log_at_trx_commit=1

控制的是redo日志

Redo日志刷写磁盘3种策略

等于0的时候,每秒刷写已经交和未提交到os

buffer(文件系统缓存),断电可能会损失1秒的---可能会用到

等于1的时候,当commit后立即刷写到os buffer,再立即刷写到磁盘-----安全,常用

等于2的时候, 当commit后立即刷写到os buffer,每秒刷写到磁盘----一般用不到

为什么刷写到os buffer,因为由os buffer刷写到磁盘效率更高.

Innodb参数-innodb_flush_method

控制的是redo buffer(重做日志) 和buffer pool(存储的是数据)

要么性能,要么安全

Fsync 性能

innodb_flush_method =O_direct 默认 建议模式(安全)

O_dsync

Buffer pool

redo buffer

lb_logfile(redo日志文件)

innodb_max_dirty_pages=75(脏页占用bufferpool超过75则刷写到磁盘)

如果脏页丢失可以根据redo恢复

日志-二进制日志恢复

备份恢复

备份-备份恢复步骤

备份-差异备份

备份恢复-数据库删表恢复

前提log_bin=on(数据库路径开启过)

加一个read锁,让用户不能修改数据了.还能访问

Flsuh tables with read lock;

开始做恢复准备

Show master logs; 查看日志.确认删表的日志位置

查看完全备份时,--master-data=1二进制日志文件bin.000004及位置,=245(则1-3的bin日志可以删掉不管)

Flush logs; 生成新的日志00005

删除表动作发生在日志00004.所以导出00004日志

Mysqlbinlog --start-position=245 /data/binlog/mysql-bin.00004>/backup/bin.sql

cat /backup/bin.sql,定位一下.找到删表的命令的位置,删除这行命令

关掉数据库网络,防止外界访问(或者删了数据库,重开服务)

开始恢复数据库

备份恢复-单表恢复

Mysqldump-迁移数据库

备份恢复-xtrabackup

Xtrabakcup-备份流程

Xtrabackup-增量备份的lsn号

全备和增量备lsn号的差为9

Xtrabackup-redo only

复制

复制-数据库主从复制

主从复制原理

复制-主从异步

复制-mysql复制模型

一主多从级联复制

主主复制

半同步复制

Mha

MHA

Mha-原理

MHA-多个主从

MHA-邮箱配置

Keepalived实现虚拟ip飘逸

Galera cluster工作过程

Atlas

Atlas-读写分离

Atlas-2个端口

分布式-架构图

Mycat

Mycat-分布式存储

Mycat-配置

Mycat-range分片

Mycat-小结

mysql-画图的更多相关文章

  1. 【PowereDesigner】使用方法|mysql画图使用|不在跟新

    自己画E-R图时, 运行:Power Designer ..1 ..2 ..3 可以先放两个空的实体,然后,分别修改属性(鼠标右键,最后一项Properties),名称为:学生.课程. ..4 创建一 ...

  2. [mysql]tpcc相关及画图

    参考:http://blog.chinaunix.net/uid-26896862-id-3563600.html 参考:http://blog.chinaunix.net/uid-25266990- ...

  3. 十种MYSQL显错注入原理讲解(二)

    上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...

  4. Mysql学习笔记(一)

    技术的王国太过迷人,我刚从事IT就被各种技术所引诱迷惑,什么都想学.我还算言而有信的那一类人,还好有一丁点毅力,于是各种东西都沾染了一点.但是这种遍地开花的情况实在和我的智商不匹配.我没有那么多的精力 ...

  5. 【转】使用Sublime + PlantUML高效地画图

    project: blog status: publish target: how-to-use-sublime-and-plant-uml-draw-diagram.md date: 2015-12 ...

  6. 测试Kettle在增量更新的时候是否支持级联——不支持(基于mysql)

    由于LZ很像整理一下如何使用Kettle对一张表进行增量更新的时候, 同时实现对数据库中的其他表也可以实现相关的更新操作. 第一种方法想使用触发器,即在相应的hop之间添加SQL脚本step然后在st ...

  7. 如何将MongoDB数据库的数据迁移到MySQL数据库中

    FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...

  8. 基于MySQL + Node.js + Leaflet的离线地图展示,支持百度、谷歌、高德、腾讯地图

    1. 基本说明 本项目实现了离线展示百度.谷歌.高德.腾讯地图.主要功能如下: 实现了地图瓦片图下载.存储.目前支持存储至MySQL Node.js服务调用MySQL中的瓦片图 Leaflet展示地图 ...

  9. 【原创】新说Mysql事务隔离级别

    引言 大家在面试中一定碰到过 说说事务的隔离级别吧? 老实说,事务隔离级别这个问题,无论是校招还是社招,面试官都爱问!然而目前网上很多文章,说句实在话啊,我看了后我都怀疑作者弄懂没!因为他们对可重复读 ...

  10. 深入MySQL复制(三):半同步复制

    1.半同步复制 半同步复制官方手册:https://dev.mysql.com/doc/refman/5.7/en/replication-semisync.html 默认情况下,MySQL的复制是异 ...

随机推荐

  1. 通过logmnr找到被修改前的存储过程

    1.找到存储过程被修改时的归档日志 SELECT NAME FROM V$ARCHIVED_LOG WHERE FIRST_TIME BETWEEN TO_DATE('20191118080000', ...

  2. Python3.9的http.client.py下的HTTPMessage类中的方法getallmatchingheaders的bug修复建议

    在官方网站已经提交相关issue,不过目前看好像还没有修复.具体的bug位置为: http文件夹下的client.py文件,代码位置为:类HTTPMessage下的方法getallmatchinghe ...

  3. VL02N发货过账BAPI

    使用BAPI函数: BAPI_OUTB_DELIVERY_CONFIRM_DEC 进行delivery的发货过账,可能会有如此的需求,就是修改实际的发货日期.规划的GI.交货日期.装载日期.传输计划日 ...

  4. 集成多种协议、用于 USBC 端口的快充协议芯片IP2723

    1. 特性  快充规格  集成 QC4/QC4+输出快充协议 - 兼容 QC2.0/QC3.0 - 支持 Class B 电压等级  集成 FCP 输出快充协议  集成 SCP 输出快充协议  集成 ...

  5. 3A的限流芯片PW1503

    PW1503是超低RDS(ON)开关,具有可编程的电流限制,以保护电源于过电流和短路情况.它具有超温保护以及反向闭锁功能. PW1503采用薄型(1毫米)5针薄型SOT封装,提供可调版本. 特征    ...

  6. missing required library sqlite.dll最终解决办法

    missing required library sqlite.dll最终解决办法 昨天电脑还是好的,今天早晨打开navicat连接Mysql无缘无故报错"missing required ...

  7. physical CPU vs logical CPU vs Core vs Thread vs Socket(翻译)

    原文地址: http://www.daniloaz.com/en/differences-between-physical-cpu-vs-logical-cpu-vs-core-vs-thread-v ...

  8. libco hook原理简析

    我们先看一下libco协程库的特性描述 libco的特性 无需侵入业务逻辑,把多进程.多线程服务改造成协程服务,并发能力得到百倍提升; 支持CGI框架,轻松构建web服务(New); 支持gethos ...

  9. WPF mvvm 验证,耗时两天的解决方案

    常用类 类名 介绍 ValidationRule 所有自定义验证规则的基类.提供了让用户定义验证规则的入口. ExceptionValidation 表示一个规则,该规则检查在绑定源属性更新过程中引发 ...

  10. (六)整合 QuartJob ,实现定时器实时管理

    整合 QuartJob ,实现定时器实时管理 1.QuartJob简介 1.1 核心API 2.SpringBoot整合QuartJob 2.1 项目结构 2.2 定时器配置 2.3 定时器管理工具 ...