mysql详解

本文详细介绍了MySQL数据库,包括数据库的基本概念、关系型与非关系型数据库的区别、MySQL的特性和工作原理。深入讨论了SQL语言、表引擎、事务、索引分类以及MySQL的优化策略。还提到了MySQL的备份方式、集群架构以及3M集群的双主故障切换机制,为理解MySQL提供了全面的视角。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mysql详解

数据库是什么

数据库是按照结构化组织存储和管理数据的仓库。

数据库的分类

关系型数据 和非关系型数据库

关系型数据库

数据有固定的存储结构 按照库–表--行–列的方式存储,

存储过程 解析sql语句—连接层—磁盘存取—结构化成表。

非关系数据库

以 键值对方式存储数据,每一个元组都可以有不一样的字段,这种就不会局限于固定的结构。尽可能的将数据放到内存当中;

mysql 是什么

mysql是一个关系型数据库管理系统,

SQL 是什么

是数据库 结构化语言 。

什么是表

表是数据库中的数据组成单位,

表的引擎

innoDB 支持数据库的高级处理包括 事物 外键等 默认是innodb

主键

特性:值 不可以为空 也不可以重复,通常用于公司员工的ID号

事务

关系型数据库 支持事务 innoDB 引擎支持

成批的SQL语句操作,要么完全执行,要么不执行,维护数据的完整性。

事务特性

A C I D
原子性
执行事务要么成功 要么失败,只要有一条失败整个事务机会是失败。

一致性
事务执行前是一致的,执行后也是一致的不能破坏数据上的完整型,
比如A用户有1000RMB,B用户也有1000RMB,A用户给B用户转500,那么A用户和B用户的RMB的总额为多少?2000

持久性
事务执行成功后对数据库的修改是永久的。

隔离性
隔离可以防止多个事务并发时导致数据的不一致

事务并发不进行事务隔离

脏读

不可重复读

幻读

事务隔离级别

MySQL 默认 可重复读

串行化 避免脏读 不可重复读 幻读

可重复读 避免脏读 不可重复读

触发器

对一个数据库执行了什么操作,然后自动触发了预先写好的的SQL语句。

作用:起到对数据存储的约束。

存储过程

若干条SQL语句写到一起,类似函数。

MySQL的数据备份方式

MySQLdump工具备份  MySQL官方的 自带的

xtrabackup工具备份   第三方工具

备份分为:冷备 温备和热备

备份的数据集合为 完全备份 增量备份和差异备份

冷备份(脱机备份) :是在关闭数据库的时候进行的
热备份(联机备份) : 数据库处于运行状态,依赖于数据库的日志文件
温备份:数据库锁定表格(不可写入但可读)的状态下进行备份操作
逻辑备份:对数据库逻辑组件(如: 表等数据库对象)的备份
完全备份:每次对数据库进行完整的备份
差异备份:备份自从上次完全备份之后被修改过的文件
增量备份:只有在上次完全备份或者增量备份后被修改的文件才会被备份

需要备份的对象:

数据
配置文件
二进制日志

公司数据备份策略

每星期一和周四晚上12点进行完全备份,

星期二、星期三、星期五、星期六、星期日每日12:00 进行差异备份;

每月10日在测试环境进行备份可用性恢复测试。

MySQL索引

MySQL的读写 比例是10:1 左右 想要加速查询 就需要索引了

索引相当于字典的音序表,如果要查某个字,如果不使用音序表,则需要从几百页中逐页去查。

本质都是:通过不断地缩小想要获取数据的范围来筛选出最终想要的结果,同时把随机的事件变成顺序的事件,也就是说,有了这种索引机制,我们可以总是用同一种查找方式来锁定数据。

索引分类

普通索引index :加速查找
唯一索引
    主键索引:primary key :加速查找+约束(不为空且唯一)
    唯一索引:unique:加速查找+约束 (唯一)
联合索引
    -primary key(id,name):联合主键索引
    -unique(id,name):联合唯一索引
    -index(id,name):联合普通索引
全文索引fulltext :用于搜索很长一篇文章的时候,效果最好。

MYSQL优化

1.添加 索引 
2.添加 主键和外键
3.使用 InnoDB 引擎
3.做集群
4.优化SQL语句

mysql集群

3M集群介绍

Mysql Monitor agent

3M集群是支持双主故障切换和双主日常管理

虽然叫做双主复制,但是业务上同一时刻只允许对一个主进行写入,另一台备选主上提供部分读服务,以加速在主主切换时刻备选主的预热。

它实现了 mysql的负载均衡和高可用。

架构

两台 Master 公用一个VIP 两台 slaver 一台一个VIP 一台 Monitor

Moniter 是 监控所有MySQL的工作的,决定和处理所有节点角色活动。

工作原理

mysql-mmm的监管端会提供多个虚拟IP(VIP),包括一个可写VIP,多个可读VIP;通过监管的管理,这些IP会绑定在可用mysql之上;当某一台mysql宕机时,监管会将VIP迁移至其他mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值