Mysql知识收集(自己看的)

mysql读写分离后,访问时,可以使用 myCat 或 maxScale 插件,透明的完成读写分离,也可使用代码

日pv几百万,使用嵌套读写分离完全可以

mysql部署策略

日pv量级在1w以下,单台机器跑web和db + 冷备份
日pv达到几万。此时单台机器已经有点负载,需要我们把web和db分开 + redis + 主从(仅用于备份)
日pv达到几十万,mysql主从,一主多从,java可以通过discuz 或 mysql-proxy 实现读写分离
日pv到几百万,使用嵌套主从(把mysql原来的一主多从变为一主一从,然后从作为其他从的主,而前面的主只负责网站业务的写入,而后面的从不负责网站任何业务,只负责给其他从同步bin-log)
日pv到1千万的时候,分库分表,纵向 + 横向

单表的数据量低于500W
单个库数据量在1T到2T,基本就是极限了,这个时候就得分多个库了

在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。
当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败,并产生错误信息。
SQL对每个表中行的数量没有直接限制,但它受数据库存储空间的限制。
每个数据库的最大空间1048516TB,所以一个表可用的最大空间为1048516TB减去数据库类系统表和其它数据库对象所占用的空间。

mysql存储T量级的数据。

每行,如果试图插入超过 8,060 字节的行或对行进行更新以至字节总数超过 8,060,

HAProxy可以实现Mysql的负载均衡

阿里云使用的是主备模式

mycat

mysql的最大连接数需要修改

keepalived 可以实现主备切换

高可用方案:MMM、MHA、mycat、双主+keepalive

InnoDB不支持Hash索引

MMM 两主多从
优点:
1、对主从都实现了虚拟IP,可以不使用其他的代理实现读写分离
2、对从实现了监控

缺点:
1、仅支持 基于日志点 的复制方式
2、不稳定
3、选举方式暴力,直接用主备机当做新主来用(主备机的数据不一定比从库全)
4、社区不活跃

MHA 一主多从
优点:
1、选举方式优化了,从多个从节点中找出数据最完整的从作为新主,更不易丢失数据
2、基于 GTID 的复制方式,可配置半同步复制(MySQL 5.7版本+)

缺点:
1、需要编写脚本或利用第三方工具来实现VIP的配置
2、MHA启动后只会对主数据库进行监控
3、需要基于SSH免认证配置,存在一定的安全隐患
4、没有提供从服务器的读负载均衡功能

双主+keepalive

优点:
1、避免了所有单点的问题

缺点:
1、双主互备有破坏数据的可能

从负载均衡使用中间件,写负载均衡只能采用分表分库的机制

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追风人聊Java

您的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值