mysql 5.5 5.6 5.7 8.0区别

Posted 一品数据邦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 5.5 5.6 5.7 8.0区别相关的知识,希望对你有一定的参考价值。


 

5.5默认共享表空间

5.5之后用单独的purge thread执行purge操作

5.5出现半同步,性能不佳

5.5之前不支持全文索引

5.5.5以前默认引擎为myisam

5.5.5开始默认引擎为innodb

 

 

5.6之后默认独立表空间,共享表空间也存在

5.6之后,page cleaner thread用来执行buffer pool中脏页的flush操作

5.6之后,在参数中推荐使用下划线,避免使用之前的中划线

5.6binlog_format默认statement

5.6 GTID出现,但不普及

5.6出现group commit

5.6之后支持全文索引

5.6 innodb_log_buffer_size默认大小8M

5.6 innodb_log_file_size默认大小50M

5.6 innodb_log_files_in_group默认值2

innodb_flush_log_at_trx_commit=2时在5.6的变化:

5.6.6之前:每隔一秒redo log buffer中的数据刷新到磁盘

5.6.6:每隔innodb_flush_log_at_timeout秒将数据刷新到磁盘中去

 

5.7之后有独立undo表空间

5.7以后支持JSON数据

5.7之前,主从复制需要打开log_slave_updates=on

5.7之后,为避免主从数据不一致,需要在从库设置super_read_only=on

5.7不支持弱密码

5.7主从复制中必须加server_id

5.7binlog_format默认row

5.7 GTID使用普及

5.7增强半同步的新特性,after commitafter sync

5.7之后支持空间索引

5.7.6中引入通用表空间

5.7.17更完善了,在group commit 上出现了MGR

 

8.0默认字符集utf8mb4

8.0之后才出现公用表达式CTE

8.0支持降序索引

8.0支持窗口函数

8.0版本已经放弃查询缓存(query_cache

8.0 innodb_flush_neighbors默认是0

8.0所有元数据使用innodb引擎存储,无frm文件

8.0.20之前doublewrite缓冲区存储区位于innodb系统表空间中

8.0.20开始,doublewrite缓冲区存储区位于doublewrite文件中


以上是关于mysql 5.5 5.6 5.7 8.0区别的主要内容,如果未能解决你的问题,请参考以下文章

mysql 5.6 5.7区别

mysql 5.7和5.6的区别

MySQL 4.1/5.0/5.1/5.5/5.6各版本的主要区别

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

Atitit.mysql 5.0 5.5  5.6 5.7  新特性 新功能

MySQL_8.0与5.7区别之账户与安全