Mysql8与5.7的差异,以及memcache与redis的差异

1:Mysql8常用新特性

1:Mysql8修改密码变得更加简洁:

 alter user 'root'@'localhost' IDENTIFIED BY 'WYM13992094676';

2:Mysql8加入了role规则:可以认为是权限的集合这里的集合有统一的名字,就是Role名,可以为多个账户赋予统一的Role名,便于运维管理。并且创建用户和用户授权的命令是分开的。

3:认证插件的更新:Mysql8中使用caching_sha2_password,Mysql5.7中使用mysql_native_password。

4:密码管理策略增强:用例如password_history等变量用于限制使用之前的密码。并且支持在线设置,新增文件mysql-auto.cnf 的json格式文件,在修改配置后会写入此文件在每次重启mysql后都会读取该配置文件,实现在线更新。

5:默认字符集由latin1变为utf8mb4;

6:DDL原子化:所有操作要全部成功,要么全部回滚。

2:数据库备份:通常有两种备份方式

1:物理备份:直接cp,tar赋值数据库文件。(数据量较小)
2:逻辑备份:mysqldump+BIN LOGS文件。(数据量一般,所使用的BINLOGS增量备份)

其他:
1:使用mysqldump时常使用–single-transaction来保证数据库的一致性,做法是在开始前提交BEGIN SQL语句,它不会阻塞任何应用程序,保证数据一致性。
2:使用mysqlbinlog进行二进制文件还原成.sql文件然后进行还原。

mysql不提供直接增量备份的工具,使用二进制文件进行增量备份。先对数据库文件进行全备,而后对其进行增量备份,再还原时就可根据需要进行还原,可根据开始和结束时间、二进制文件的位置、进行备份。

3:主从复制 :

1:双机高可用方案:使用keepalived进行心跳检测当一master出现问题可自动切换,缺点是只有一个库在工作并发有限制
2:主从+读写分离方案:使用Mycat进行读写分离,使得任意一台机子宕掉,都可以及时切换提高并发。(读写都不是很高的环境,但却是第一种的二倍)
3:一主多从+读写分离:利用Mycat进行读写分离,并使用MHA进行主从库更替。(适合写并发不大,而读并发超大的环境)
4:使用Haproxy进行高可用Mycat集群的搭建,同过Mycat分库分表将数据库操作分配到不同节点上去,极大解决了兵法高数据量的问题。缺点是配置及维护较麻烦。
5:搭建主从复制集群架构(遇到的错误):搭建好集群后从节点数据不一致,导致SQL(中继日志)线程出错,原因是发现是主库上删除了一个数据库,但是从库上面没有,从库执行这个语句的时候失败报错。

4:双主互备+keeplived高可用架构+多从:

原理:首先将两台主机配置为互相的主从服务器,然后在各节点安装keeplived进行高可用搭建,使用vrrp协议保证在一台mysql断掉之后课以透明化的进行故障转移。
keeplived(遇到问题):安装最新版keepalived运行后发现它的三个子进程都没有启动,于是查看日志,发现keepalived.conf中网卡名字为eth0,而新版本的网卡名为ens33,修改后就ok了。

5:Mycat实现读写分离(暂时不搭建):

6:mysql8其他新特性:

MyISAM系统表全部换成InnoDB表
自增变量持久化
参数修改持久化
新增降序索引
group by 不再隐式排序
JSON特性增强
增加角色管理

7:Mysql事务介绍:

1:只有innodb数据库引擎支持事务
2:事务可以维护数据库的完整性,保证成批的sql语句要么都执行,要么都不执行。
3:书屋用来管理写操作语句。

事务的四个特性:原子性、一致性、隔离性、持久性。

8:memcache与redis的特点:

memcache:

redis的特点:

1:支持数据持久化,可以将内存数据保存在磁盘中,启动时可以再次加载使用。
2:支持多种数据结构的存储,具有丰富的数据类型,例如List、Strings、Hashes、set等。
3:支持数据备份,即master、slaver数据备份。
4:所有操作都是原子性的,同时支持多个操作全并后的原子执行。
5:读写恶性能极高。
6:redis详细配置:https://www.cnblogs.com/bingshu/p/9776452.html

redis性能调优:

1:tcp-backlog:TCP坚挺的最大容纳数,在高并发情况下,要将此值调高,避免客户端连接缓慢。
2:echo never > /sys/kernel/mm/transparent_hugepage/enabled,关闭操作系统的Transparent huge pages功能。
3:当内存过小时,linxu将redis所用的内存分页移至swap分页,导致阻塞redis进程。
4:redis集群不能保证数据的强一致性,因为集群采用异步复制写操作过程。若要安全可以使用memcache。

redis详细配置(绝好):https://juejin.im/post/5b7d226a6fb9a01a1e01ff64
redis数据分片:redis使用hash槽每个key通过CRC16校验后对16384去摸决定放置到那个槽,集群的每一个节点来负责放那个槽。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值