MySQL 8.3 发布, 它带来哪些新变化?

1月16号 MySQL 官方发布 8.3 创新版 和  8.0.36 长期支持版本 (该版本 没有新增功能,更多是修复bug ),本文基于 官方文档 说一下 8.3 版本带来的变化。

一 增加的特性

1.1 GTID_NEXT 支持增加 TAG 选项。

之前的版本中  GTID_NEXT=UUID:number ,现在可以增加 一个 tag 字符串 GTID_NEXT=UUID:[TAG]:number ,用来对事务进行标示。 具体的用例如下:

mysql> show master status \G<br>*************************** 1. row ***************************<br>             File: mysql-bin.000001<br>         Position: 158<br>     Binlog_Do_DB:<br> Binlog_Ignore_DB:<br>Executed_Gtid_Set:  <br>1 row in set, 1 warning (0.00 sec)<br><br>mysql> insert into t(a) values(2);<br>Query OK, 1 row affected (0.00 sec)<br>mysql> show master status \G<br>*************************** 1. row ***************************<br>             File: mysql-bin.000001<br>         Position: 435<br>     Binlog_Do_DB:<br> Binlog_Ignore_DB:<br>Executed_Gtid_Set:  00008300-0000-0000-0000-000000008300:1<br>1 row in set, 1 warning (0.00 sec)<br><br>### 在会话级别设置 gtid_next 的值<br><br>mysql> set session  gtid_next='00008300-0000-0000-0000-000000008300:yangyidba:3';<br>Query OK, 0 rows affected (0.00 sec)<br>mysql> insert into t(a) values(2);<br>Query OK, 1 row affected (0.00 sec)<br><br>mysql> show master status \G<br>*************************** 1. row ***************************<br>             File: mysql-bin.000001<br>         Position: 722<br>     Binlog_Do_DB:<br> Binlog_Ignore_DB:<br>Executed_Gtid_Set:  00008300-0000-0000-0000-000000008300:1:yangyidba:3  ## 变成系统值和手工指定的2个值的结合<br>1 row in set, 1 warning (0.00 sec)<br><br>mysql> insert into t(a) values(2);<br>Query OK, 1 row affected (0.00 sec)<br><br>mysql> show master status \G<br>*************************** 1. row ***************************<br>             File: mysql-bin.000001<br>         Position: 995<br>     Binlog_Do_DB:<br> Binlog_Ignore_DB:<br>Executed_Gtid_Set:  00008300-0000-0000-0000-000000008300:1:yangyidba:1:3 <br>1 row in set, 1 warning (0.00 sec)<br><br><br>mysql> set session  gtid_next='00008300-0000-0000-0000-000000008300:yangyidba:2';<br>Query OK, 0 rows affected (0.00 sec)<br><br>mysql> insert into t(a) values(2);<br>Query OK, 1 row affected (0.00 sec)<br><br>mysql> show master status \G<br>*************************** 1. row ***************************<br>             File: mysql-bin.000001<br>         Position: 1296<br>     Binlog_Do_DB:<br> Binlog_Ignore_DB:<br>Executed_Gtid_Set:  00008300-0000-0000-0000-000000008300:1:yangyidba:1-3 <br>1 row in set, 1 warning (0.00 sec)<br>mysql> set session gtid_next='AUTOMATIC';<br>Query OK, 0 rows affected (0.00 sec)<br>mysql> insert into t(a) values(2);<br>Query OK, 1 row affected (0.00 sec)<br><br>mysql> show master status \G<br>*************************** 1. row ***************************<br>             File: mysql-bin.000001<br>         Position: 1296<br>     Binlog_Do_DB:<br> Binlog_Ignore_DB:<br>Executed_Gtid_Set:  00008300-0000-0000-0000-000000008300:1-2:yangyidba:1-3 <br>1 row in set, 1 warning (0.00 sec)<br>