这是以前(应该是在2023/07/01之前)简单整理的MySQL重大的功能更新,尤其MariaDB 10.0 以后与MySQL版本号脱钩后,两者的版本号对应,当然,这并不是完全兼容。
-------------------------------------------------------------------------------- MySQL 版本历史,及重要新特性,参考 https://www.markjour.com/article/20210106-mysql-versions.html 2008-11-27 MySQL 5.1,开始支持分区,和主从同步时的行复制(RBR)。 2010-12-03 MySQL 5.5,InnoDB 成为默认引擎(5.5.5 开始),utf8mb4, 2013-02-05 MySQL 5.6, 重构日期数据类型,支持微秒等; EXPLAIN 可用来查看 DELETE,INSERT,REPLACE,UPDATE 等 分区表增强 2015-10-21 MySQL 5.7 引入对JSON的支持 引入了虚拟列,类似于Oracle中的函数索引。 引入ALTER USER命令,可用来修改用户密码,密码的过期策略,及锁定用户等。 mysql.user表中存储密码的字段从password修改为authentication_string。 2018-04-19 MySQL 8.0 窗口函数 新增“隐藏索引”的特性 默认的认证插件由mysql_native_password更改为caching_sha2_password。 Grant不再隐式创建用户。 移除PASSWORD()函数。这就意味着无法通过“SET PASSWORD ... = PASSWORD('auth_string') ”命令修改用户密码。 BLOB, TEXT, GEOMETRY和JSON字段允许设置默认值。 2021-10-19 发布的 8.0.27 (Update @ 2021-11-16) MariaDB 与 MySQL 的版本号之间已经不再对应,差异越来越大,并且MariaDB也声明不再追求兼容性(即使,事实上两者之间差异非常有限)的不兼容处,再者版本号之间的对应,也只能做个大概参考。可参看 https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/ 兼容性与差异处 https://mariadb.com/kb/en/compatibility-differences/ MariaDB 5.1-5.1 ~ MySQL 5.1 MariaDB 5.5 ~ MySQL 5.5 MariaDB 10.0 ~ MySQL 5.6 MariaDB 10.1-10.3 ~ MySQL 5.7 MariaDB 10.4-11.4 ~ MySQL 8.0