mysql技术--精简版

mysql总结

  • 四大特性
  • 主从复制
  • M-S-S架构
  • M-M架构
  • M-M-M架构
  • MHA架构
  • 读写分离
  • 备份
  • 优化

1、 四大特性

(1)原子性:事务是一个不可分割的整体,事务开始操作、要么全部执行,要么全部不执行。
(2)隔离性:同一时间,只允许一个事务请求统一组数据。不同事物彼此之前没有干扰
(3)一致性:事务开始前和结束后,数据库的完整性约束没有被破坏
(4)稳定性:事务完成后,事务对数据库的所有更新将被保存到数据库,不能回滚

2、主从复制

场景:当数据需要备份时,采用此架构。可不使用mysqldump命令手动备份,节约时间成本主服务器插入数据,从服务器跟着复制。主服务器down了从服务器数据存有备份,这种架构也可以实现读写分离,分担主服务器的读写压力。

1、原理:

(1)主服务器:需要开启一个二进制(binlog日志),在这台服务器上所插入的每条sql都会记录到日志当中
(2)从服务器:进行重放,主要用I/O线程和sql线程来进行复制。I/O线程负责拉取日志、SQL线程进行重放
缺点:从服务器压力过多,压力大。从去主拉去日志,会造成I/O压力集中的问题

2、主从复制模式

(1)复制状态默认是异步复制
优点:效率高,主接收到写请求,不需要等待从复制完数据
缺点:不一定能搞保证可靠性

(2)同步复制
优点:可靠性高,主收到写请求,等待所有从复制完,在返回结果。
缺点:效率差

(3)半同步复制(兼顾效率和可靠性)
优点:主收到写请求,只需等待一台从复制完成之后。再返回结果

3、M-S-S架构(解决主从I/O压力集中问题)

场景:主从复制集群,如果出现一个主多个从的情况,会造成主的资源压力较大。这种情况采用M-S-S架构解决

1、原理
(1)主服务器负责接收写请求
(2)中继服务器负责拉去主的binlog日志,但是不进行重放。也就是说中继服务器不存储任何数据,只留存记录日志内容(使用Black-hole黑洞引擎)保证本地不存储任何数据
(3)从服务器只需到中继服务器拉去binlog日志在本地重放

关系:
M-S-S===主-中继-从
(1)中继的master是主服务器(主服务器为中继服务器服务)
(2)从服务器的master是中继服务器(中继服务器为从服务器服务)

4、M-M架构(互为主备)

场景:不建议使用
优点:最大保证数据的安全性
缺点:没有好处,可能越做越烂(数据乱),性能也有可能下降

5、M-M-M架构

优点:故障转移对新主的重新同步数据
缺点:主从切换时,容易造成数据丢失

6、MHA架构

作用:主服务器坏掉时,可以故障切换
例子:四台服务器、MHA管理节点、主节点、从节点、从节点

MHA节点需要安装MHA Manger软件、其他节点需要安装MHA node软件。

所有节点需要做免密登录:因为MHA管理节点需要到各个节点去进行故障切换
所有节点需要创建一个对mysql所有权限的账号:如果故障切换,需要用的此账号进行指定新的主
所有节点需要创建一个复制权限的一个账号:用于复制

到此为止:有一个缺点(可使用脚本完善缺点)
如果你的主服务器进行故障切换、那么客户端写入请求找不到新的主了。
这时候会有一个VIP的一个概念,这个vip地址会在你的主上。
那么这样客户端只需访问这个vip地址进行写操作,不会出现找不到住的情况

7、优化

场景:客户端读写请求非常大的情况下,会对你的主造成一定的压力。主要因为读请求会造成压力较大,而且费时。

读写分离主要流程:写请求交给主、读请求交给从。中间用一个mycat来调度。
(1)主服务器(负责写):使用InnoDB引擎,适用于写多读少(行级锁)
(2)从服务器(负责读):使用Mysiam引擎,适用于读多写少(表集锁)

8、备份

模式:全备、差异备份、增量备份
(1)全备:将所有的数据库进行备份

(2)差异备份:基于全备进行备份增加的部分(浪费空间),还原方便,只需将全备和最后一次差异备份合并即可

(3)增量备份:根据全备,只备份添加部分的数据。(节省空间),还原麻烦,需要将多次增量备份按顺序进行合并

备份工具
(1)Xbackup逻辑备份:从数据库导出来的数据,另存为到一个或多个文件夹当中并将数据转换为具体的SQL语句

(2)流程:
先做一次全备、然后基于全备做增量备份指定好上次的位置(LSN码)、还原的时候,记得把文件的数组和属组改为mysql程序运行账户

备份状态
(1)热备:读写情况下,可以备份 命令:xbackup
(2)温备:读情况下,可备份 命令:mysqldump
(3)冷备:读写不可操作,可备份 命令:cp、tar…

优化

硬件优化:
(1)cpu64位、高主频、高缓存
(2)内存–大内存、主频高
(3)硬盘—reid10或5
(4)网络–标配千兆网卡
查询优化
(1)创建表时结构要合理,每个表不宜过大
(2)建立索引、提高查询速度
(3)查询缓存、将查询的结果保存在内存当中,会极大的提高性能(默认禁用)

存储引擎优化
(1)Myisam引擎:表级锁,影响范围大,适用于读多写少
(2)InnoDB引擎:行级锁,影响范围小,适用于写多读少

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值