mysql-画图
目录
阿里数据库产品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-画图的更多相关文章
- 【PowereDesigner】使用方法|mysql画图使用|不在跟新
自己画E-R图时, 运行:Power Designer ..1 ..2 ..3 可以先放两个空的实体,然后,分别修改属性(鼠标右键,最后一项Properties),名称为:学生.课程. ..4 创建一 ...
- [mysql]tpcc相关及画图
参考:http://blog.chinaunix.net/uid-26896862-id-3563600.html 参考:http://blog.chinaunix.net/uid-25266990- ...
- 十种MYSQL显错注入原理讲解(二)
上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...
- Mysql学习笔记(一)
技术的王国太过迷人,我刚从事IT就被各种技术所引诱迷惑,什么都想学.我还算言而有信的那一类人,还好有一丁点毅力,于是各种东西都沾染了一点.但是这种遍地开花的情况实在和我的智商不匹配.我没有那么多的精力 ...
- 【转】使用Sublime + PlantUML高效地画图
project: blog status: publish target: how-to-use-sublime-and-plant-uml-draw-diagram.md date: 2015-12 ...
- 测试Kettle在增量更新的时候是否支持级联——不支持(基于mysql)
由于LZ很像整理一下如何使用Kettle对一张表进行增量更新的时候, 同时实现对数据库中的其他表也可以实现相关的更新操作. 第一种方法想使用触发器,即在相应的hop之间添加SQL脚本step然后在st ...
- 如何将MongoDB数据库的数据迁移到MySQL数据库中
FAQ v2.0终于上线了,断断续续忙了有2个多月.这个项目是我实践的第一个全栈的项目,从需求(后期有产品经理介入)到架构,再到设计(有征询设计师的意见).构建(前端.后台.数据库.服务器部署),也是 ...
- 基于MySQL + Node.js + Leaflet的离线地图展示,支持百度、谷歌、高德、腾讯地图
1. 基本说明 本项目实现了离线展示百度.谷歌.高德.腾讯地图.主要功能如下: 实现了地图瓦片图下载.存储.目前支持存储至MySQL Node.js服务调用MySQL中的瓦片图 Leaflet展示地图 ...
- 【原创】新说Mysql事务隔离级别
引言 大家在面试中一定碰到过 说说事务的隔离级别吧? 老实说,事务隔离级别这个问题,无论是校招还是社招,面试官都爱问!然而目前网上很多文章,说句实在话啊,我看了后我都怀疑作者弄懂没!因为他们对可重复读 ...
- 深入MySQL复制(三):半同步复制
1.半同步复制 半同步复制官方手册:https://dev.mysql.com/doc/refman/5.7/en/replication-semisync.html 默认情况下,MySQL的复制是异 ...
随机推荐
- 【Oracle LISTNER】oracle Listener 宕机解决办法
今天想起了很久没用的oracle库,用plsql尝试连接,发现报超时错误,以为是偶然,多次尝试连接,发现还是超时,于是登录到系统中,查看数据库情况,发现正常查询和修改添加,感觉不是数据库问题,查看监听 ...
- HarmonyOS三方件开发指南(5)——Photoview组件
PhotoView使用说明 1. PhotoView功能介绍1.1 组件介绍: PhotoView是一个继承自Image的组件,不同之处在于:它可以进行图击放大功能,手势缩放功能(暂无 ...
- bash shell数组使用总结
本文为原创博文,转发请注明原创链接:https://www.cnblogs.com/dingbj/p/10090583.html 数组的概念就不多说了,大家都懂! shell数组分为索引数组和关联数 ...
- 【七天搞定Python】day01.Python环境配置、pip、IDE、注释、变量,数据类型、标识符/关键字、输出、输入
什么是Python? 动态解释型语言,1982年由荷兰人Guido von Rossum发明. 更多细节可以google,这里不做展开. Python解释器: CPython(官方版本C语言实现) I ...
- Spring入门及IoC的概念
Spring入门 Spring是一个轻量级的Java开发框架,最早由Robd Johnson创建,目的为了解决企业级应用开发的业务逻辑层和其他各层的耦合问题,它是一个分层的JavaSE/EE轻量级开源 ...
- Python干货:了解元组与列表的使用和区别
元组是 Python 对象的集合,跟列表十分相似.下面进行简单的对比. 列表与元组 1.python中的列表list是变量,而元组tuple是常量. 列表:是使用方括号[],元组:则是使用圆括号() ...
- java虚拟机入门(一)-jvm基础
转行学java之前,总是听着大佬们说着java像个渣男一样可以跨平台,一次编译到处运行,瞬间,我就坚定了学java的信念,哎呀妈呀,得劲.真的学java之后,好像渣男也不是那么好学的,尤其这货的必杀技 ...
- Azure Terraform(七)利用Azure DevOps 实现自动化部署基础资源(补充)
一,引言 之前一篇文章有讲解到利用 利用Azure DevOps 实现自动化部署基础资源,当时 TF 代码没有针对 Azure 各个资源的封装,所有的资源代码全部写在一个 main.tf 文件中.然后 ...
- 算法总结篇---AC自动机
目录 写在前面 算法流程 引例: 概述: Trie树的构建(第一步) 失配指针(第二步) 构建失配指针 字典树和字典图 多模式匹配 例题 写在前面 鸣谢: OiWiki 「笔记」AC 自动机---Lu ...
- REST以及RESTful
java作为一门后端语言,其厉害之处在于web,大家比较熟知的各种网络应用,java都能做,那么在这个移动优先的时代,如何继续发挥java的强大呢.通常是让java作为一个app的服务端,为app客户 ...