mysql(四)

存储引擎

概念:存储引擎,一种数据库存储数据的机制,索引的技巧,锁定水平

存储的方式和存储的格式

存储引擎也属于mysql当中的组件,实际上操作的,执行的就是数据的读写I/O。

mysql的存储引擎的分类:

Innodb mysql5.5之后默认使用innodb,事务型速记存储引擎。支持ACID,支持行锁定

下面几个很少用到

MYisam 5.5之前默认存储引擎 插入和查询速度很快,但不支持事务

memory:内存型存储引擎,数据在写时都保存在内存当中,一旦重启所有数据全部消失。

CSV:逗号分割数据的存储引擎,数据文件以 .csv文件保存的 方便兼容excel 保存的文件就是一个普通的文本文件。不加密,不支持索引

innodb存储引擎:

1.读写阻塞(锁表) 和 事务的隔离级别

2.能够高效的缓存数据 支持多种类的索引

3.表的索引的类型默认是b-tree

4.支持外键,支持全文索引

5.对硬件的资源要求比较高

6.行级锁定,会把行锁住,禁止操作。

特别是 模糊查询 like 查询时会进行全表扫描,扫描过程中会锁定整个表。只能读

对没有创建索引的列 查询 也会锁定整个表

使用的是索引列,锁定条件的行,行锁定。

InnoDB 行锁定和索引的关系

行锁 是通过索引来实现的

如果没有索引,innodb会使用默认的隐藏索引来对记录进行加锁

区别是:加索引 锁定行 不加索引 锁定整个表

mysql默认是自动提交写入 插入语句运行就写入

oracle提交才能写入 插入语句运行后还需要点提交才能写入

数据库的日志管理、备份与恢复

在配置文件当中设置

备份的目的:备灾

在生产环境中,数据的安全性非常重要

造成数据丢失的原因:

1.程序出错

2.人为问题

3.磁盘故障

备份的分类:

物理备份:对磁盘或对文件直接进行备份

冷备份 脱机备份 先把指定程序关闭 再对资料进行备份

热备份 联机备份 不关闭程序就能备份

逻辑备份:

根据数据库文件当中保存的sql语句,表结构等等,以特定的格式和命令对文件的内容进行还原。

热备份的一种

只能对表备份 库没了 无法恢复

主从复制可以恢复

物理备份 又称全量备份:把数据库的内容整个一次性的备份

mysql自带的备份命令。可以备份库,也可以备份表

mysqldump

增量备份

开启二进制日志的功能

binlog 逻辑备份

会生成一个文件,里面包含了sql语句,要使用特定的方式和语句才能恢复

binlog.format=MIXED
记录二进制日志的文件格式:
STATEMENT基于sql语句:只记录用户操作的sql语句 高并发情况下,记录的sql语句顺序可能会出错
导致恢复数据时会有丢失或误差。效率高
ROW基于行 记录每一行的数据,准确,高并发不会出错,但恢复效率低
MIXED:混合模式,这种情况用statement,高并发用row 智能判断是否高并发
general_log=ON
开启通用查询日志

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值