开头还是介绍一下群,如果感兴趣 PolarDB ,MongoDB ,MySQL ,PostgreSQL ,Redis, Oceanbase, Sql Server 等有问题,有需求都可以加群群内有各大数据库行业大咖,可以解决你的问题。加群请联系 liuaustin3 ,(共 2370 人左右 1 + 2 + 3 + 4 +5 +6)新人分配到 6 群。
最近撰写 MySQL 的文章出现错误,实在抱歉
1 是犯了常识性的错误,主要知识未更新完全,对于 MySQL 的老观念还存在,新的一些特性并未梳理 2 未做详实的实验并验证某些论断
以此作为一个教训,后续对于任何数据库的新的概念要及时更新,并尽力在有精力的情况下,做相关的严谨的测试。最近会分几期梳理 MySQL 8.01-8.038在数据库版本更新中的一些核心更新的信息汇总,方便大家进行查询。信息从官方文档 中获得
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-0.html
提示:由于更新的信息较多,此篇有未关注的一些信息具体详细完整的信息还请查询官方文档
8.0.0
版本更新功能 | 网页连接/注释 |
---|---|
支持配置信息命令修改后的固化 | https://dev.mysql.com/doc/refman/8.0/en/persisted-system-variables.html |
数据目录及文件的存储方式更新 | 数据文件和字典表不在分开存储 |
支持invisible索引 | https://dev.mysql.com/doc/refman/8.0/en/invisible-indexes.html |
SQL Hint支持信息更新 | https://dev.mysql.com/doc/refman/8.0/en/optimizer-hints.html |
SQL和union解析规则的变更 | 例:SELECT 1 FOR UPDATE UNION SELECT 1 FOR UPDATE; 在8.0需要撰写为(SELECT 1 FOR UPDATE) UNION (SELECT 1 FOR UPDATE); |
8.0.1
版本更新功能 | 网页连接/注释 |
---|---|
倒排索引的支持 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html#mysqld-8-0-1-configuration |
支持派生表table name功能 | 原有语句SELECT * FROM (SELECT 1, 2, 3, 4) AS dt; 变为 SELECT * FROM (SELECT 1, 2, 3, 4) AS dt (a, b, c, d); |
secure_file_priv值更改为NULL禁用导入和导出操作 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-1.html#mysqld-8-0-1-security |
8.0.2
版本更新功能 | 网页连接/注释 |
---|---|
字符集中多字节可变长度排序得到改进 | 属于(Bug #25750527, Bug #85546, WL #9554) |
数据字典的变化,innodb不再使用自己数据库引擎的数据字典,而是使用mysql数据字典 | https://dev.mysql.com/doc/refman/8.0/en/data-dictionary.html |
master_info_repository和relay_log_info_repository信息默认写入数据表 | 早起版本这两个参数的数值默认写入到mysql下的文件中 |
8.0.3
版本更新功能 | 网页连接/注释 |
---|---|
MySQL支持原子数据定义语句 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-3.html#mysqld-8-0-3-atomic-ddl |
SELECT /*+ SET_VAR(sort_buffer_size = 16M) */ name FROM people ORDER BY name; | 8.03支持Set_var单独指定变量属性的工作 |
INSERT /*+ SET_VAR(foreign_key_checks=OFF) */ INTO t2 VALUES(2); | 8.03支持Set_var单独指定变量属性的工作 |
max_allowed_packet系统变量默认值从4MB变更到64MB | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-3.html |
sql_log_bin 全局系统变量在8.03被取消,改为仅在session范围有效 | (WL #10922) |
log_bin系统变量被改为默认开启 | 要禁用二进制日志记录,您可以在启动时指定--skip-log-bin或--disable-log-bin选项。 |
增加innodb_dedicated_server设置选项开启后会自动设置innodb_buffer_pool_size,innodb_log_file_size,innodb_flush_method | https://dev.mysql.com/doc/refman/8.0/en/innodb-dedicated-server.html |
innodb_flush_neighbors默认值从1更改为0 | (WL #9631) |
8.0.4
版本更新功能 | 网页连接/注释 |
---|---|
原有的install plugin 改为 install component | INSTALL COMPONENT 'file://component_validate_password'; |
expire_logs_days 系统变量被弃用binlog_expire_logs_seconds作为唯一的binlog过期时间的设定 | https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_expire_logs_seconds |
default_authentication_plugin 默认插件已经从 mysql_native_password 改为 caching_sha2_password. | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-4.html |
8.0.5 -8.0.10
版本更新功能 | 网页连接/注释 |
---|---|
版本无更新 | https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-5-through-10.html |
8.0.11
版本更新功能 | 网页连接/注释 |
---|---|
提高innodb_buffer_pool的性能缓冲池初始化提供多线程功能 | (Bug #22963374, Bug #80784) |
对于redo缓冲区的优化 | https://dev.mysql.com/doc/refman/8.0/en/optimizing-innodb-logging.html |
大量的Bug Fixed | 在innodb 数据库引擎,复制,组复制等部分都有大量的bug 修复 |
8.0.12
版本更新功能 | 网页连接/注释 |
---|---|
支持explain 对insert ,update,delete等语句进行解析 | https://dev.mysql.com/doc/refman/8.0/en/explain-extended.html |
支持MySQL接受的SQL语句重写的功能插件 | https://dev.mysql.com/doc/refman/8.0/en/rewriter-query-rewrite-plugin.html |
大量的bug fixed | 针对innodb数据库引擎,分区,数据复制 |
8.0.13
版本更新功能 | 网页连接/注释 |
---|---|
支持在blob,text,Geometry,Json中提供默认值设施功能 | (WL #9418) |
SELECT @var, @var:=@var+1 赋予变量的方式有风险,后续的版本将兼容,此功能后续会清除 | (WL #12131) |
8.0.14
版本更新功能 | 网页连接/注释 |
---|---|
为数据库更改密码,应用当时不用停机的功能, | https://dev.mysql.com/doc/refman/8.0/en/password-management.html#dual-passwords |
慢查询SQL开始时间信息的加入 | https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_log_slow_extra |
events_statements_current,events_statements_history,events_statements_history_long 三个PS view 添加 statement_id并自行维护递增 | (WL#12165) |
windows 版本MySQL 有大量的更新 | |
大量的innodb 数据库引擎,replication 数据复制的bug fixed |
8.0.15
版本更新功能 | 网页连接/注释 |
---|---|
修复在检查点操作中持续进行数据字典的操作,有丢失数据的风险 | Bug #29120297 |
8.0.16
版本更新功能 | 网页连接/注释 |
---|---|
提供了skip scan Range Access 方法 | https://dev.mysql.com/doc/refman/8.0/en/range-optimization.html#range-access-skip-scan |
8.0.17
版本更新功能 | 网页连接/注释 |
---|---|
提供utf8mb4_0900_bin 排序规则相较utf8mb4_bin功能排序的速度有提升 | https://dev.mysql.com/doc/refman/8.0/en/charset-unicode-sets.html |
innodb 支持多值数组索引 | CREATE INDEX zips ON t1( (CAST(data->'$.zipcode' AS UNSIGNED ARRAY)) ) |
大量innodb数据库引擎的bug fixed |
8.0.18
版本更新功能 | 网页连接/注释 |
---|---|
支持zstd算法的客户端传输数据到Server端数据的压缩 | (WL #12039, WL #12475) |
支持hash join 需为等值连接 | SELECT * FROM t1 JOIN t2 ON t1.c1 = t2.c1; |
大量innodb 数据库引擎,复制,组复制的bug fixed |
8.0.19
版本更新功能 | 网页连接/注释 |
---|---|
支持MySQL账号在输入错误密码后的锁定时间 | https://dev.mysql.com/doc/refman/8.0/en/password-management.html |
optimizer_switch中的hash_join优化器开关无效 | https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_optimizer_switch |
8.0.20
版本更新功能 | 网页连接/注释 |
---|---|
max_length_for_sort_data 系统变量弃用 | (WL #13600) |
INSERT ... ON DUPLICATE KEY UPDATE 语句中在进行列值的计算中需要带有表的别名 | INSERT INTO t1 (a,b,c) VALUES (1,2,3),(4,5,6) AS new ON DUPLICATE KEY UPDATE c = new.a+new.b; |
双写缓冲区的存储区域已从系统表空间移动到双写文件 | 将双写缓冲区存储区域移出系统表空间可减少写容量,增加吞吐量,并提供双写缓冲区页面放置的灵活性 |
添加如下系统变量innodb_doublewrite_dir,innodb_doublewrite_files,innodb_doublewrite_pages,innodb_doublewrite_batch_size | https://dev.mysql.com/doc/refman/8.0/en/innodb-doublewrite-buffer.html |
8.0.21 - 8.0.22
版本更新功能 | 网页连接/注释 |
---|---|
group_replication_ip_whitelistsystem系统变量被弃用group_replication_ip_allowlist替代原有的变量被使用 | (WL #14175) |
START SLAVE,STOP SLAVE,SHOWSLAVE STATUS,SHOW SLAVE HOSTS和RESET SLAVE 命令被弃用 | 新命令START REPLICA, STOP REPLICA, SHOW REPLICA STATUS, SHOW REPLICAS, RESET REPLICA (WL #14171) |
在optimizer_switch system 变量添加prefer_ordering_index,控制在order by group by 子句中是否使用排序索引优化查询 | 部分情况下打开prefer_ordering_index 会产生查询使用错误的索引导致查询的性能降低 |
在8.018的基础上增加了查询中的强制类型转换 | (WL #13456) |
原有在组复制中需要设置Binlog_checksum = none,自8.021版本不需要进行此项设置 | (WL #9038) |
可以开启或关闭重做日志redo log,INNODB_REDO_LOG_ENABLE | https://dev.mysql.com/doc/refman/8.0/en/innodb-redo-log.html#innodb-disable-redo-logging |
锁系统互斥量(lock_sys->mutex)被分片锁取代 | (WL #10314) |
8.0.21有对replication group有诸多的改善 | |
8.022添加对符合条件的查询实现了派生条件下推,即某些情况下可将外层条件下推到派生表 | https://dev.mysql.com/doc/refman/8.0/en/switchable-optimizations.html#optflag_derived-condition-pushdown |
8.0.23
版本更新功能 | 网页连接/注释 |
---|---|
change master 语句被弃用,替换为change replicaiton source | https://dev.mysql.com/doc/refman/8.0/en/change-replication-source-to.html |
添加了autoextend_size 增加表空间变满自动扩展大小的设置 | https://dev.mysql.com/doc/refman/8.0/en/innodb-tablespace-autoextend-size.html |
8.0.24-8.0.37 待.....
置顶文章:
生成式 AI 能否取代 DBA 结尾有炸弹
临时工说:数据库厂商官方媒体干不过 “破落户” 这究竟是为哪般?
临时工说:DBA转售前,练习怎么写数据库客户案例
PolarDB VS PostgreSQL "云上"性能与成本评测 -- PolarDB 比PostgreSQL 好?
PostgreSQL 版本升级到PG14后,pgbouncer 无法使用怎么回事?
临时工访谈:NoSQL 大有前景,MongoDB DBA 被裁员后谋求新职位
临时工访谈:问金融软件开发总监 哪些业务不用传统数据库
PolarDB for PostgreSQL 有意思吗?有意思呀
PolarDB Serverless POC测试中有没有坑与发现的疑问
PolarDB 数据库架构 测试 serverless 后的 三字真言 稳定,灵活,省钱(的用对地方)
往期热门文章:
临时工说:如果DBA大龄被裁员了怎么办?
临时工访谈:DBA 考PMP 有用没有用,访谈专业的项目管理人士的意见
临时工说:炮轰阿里云MongoDB司令部 低质高价技术差 你是要疯!!!!
MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
临时工访谈:从国产数据库 到 普罗大众的产品 !与在美国创业软件公司老板对话
PostgreSQL 如何通过工具来分析PG 内存泄露
MySQL 的SQL引擎很差吗?由一个同学提出问题引出的实验
临时工访谈:我很普通,但我也有生存的权利,大龄程序员 求职贴
PolarDB Serverless POC测试中有没有坑与发现的疑问
临时工访谈:PolarDB Serverless 发现“大”问题了 之 灭妖记 续集
临时工访谈:庙小妖风大-PolarDB 组团镇妖 之 他们是第一
临时工说: 快速识别 “海洋贝壳类” 数据库方法速递
临时工说:国产 数据库 销售人员 图鉴
MongoDB 不是软柿子,想替换就替换
PostgreSQL PG_DUMP 工作失败了怎么回事及如何处理
MySQL 八怪(高老师)现场解决问题实录
PostgreSQL 为什么也不建议 RR隔离级别,MySQL别笑
临时工访谈:OceanBase上海开大会,我们四个开小会 OB 国产数据库破局者
MONGODB ---- Austindatabases 历年文章合集
MYSQL --Austindatabases 历年文章合集
POSTGRESQL --Austindatabaes 历年文章整理
POLARDB -- Ausitndatabases 历年的文章集合
PostgreSQL 查询语句开发写不好是必然,不是PG的锅
SQL SERVER 如何实现UNDO REDO 和PostgreSQL 有近亲关系吗
MongoDB 2023纽约 MongoDB 大会 -- 我们怎么做的新一代引擎 SBE Mongodb 7.0双擎力量(译)
Austindatabases 公众号,主要围绕数据库技术(PostgreSQL, MySQL, Mongodb, Redis, SqlServer,PolarDB, Oceanbase 等)和职业发展,国外数据库大会音译,国外大型IT信息类网站文章翻译,等,希望能和您共同发展。
已发布文章1161篇