MySQL8.0.24版本Release Note的一些改进点
一、连接管理
1、连接信息更详细
之前版本中,如果一个MySQL连接长时间没有和MySQL服务进行交互,则会收到一个MySQL Server has gone away的输出,没有具体的原因信息;
新版的MySQL Server会在连接关闭之前将连接关闭的原因写入到客户端,客户端能够看到更加详细的信息,来分析为什么连接被关闭。
2、连接错误信息里面包含port
这点主要是连接报错信息的改变,多了个端口信息:
修改前:ERROR2003(HY000):Can'tconnecttoMySQLserveron'127.0.0.1'(10061)修改后:ERROR2003(HY000):Can'tconnecttoMySQLserveron'127.0.0.1:63333'
举例如下:
SQL:SELECT*FROMt1WHERE(SELECTaFROMt2WHEREt2.a=t1.a)>0优化后:SELECTt1.*FROMt1LEFTOUTERJOIN(SELECTa,COUNT(*)ASctFROMt2GROUPBYa)ASderivedONt1.a=derived.aWHEREderived.a>0.
2、clone_donor_timeout_after_network_failure克隆插件变量定义了克隆插件中donor允许接收者在网络故障后重新连接并重新开始克隆的时间。这个超时时间先前固定为5分钟。现在可以将超时延长至30分钟,以提供更多时间来解决网络问题。
3、客户端应用现在使用set names语法的时候,如果字符集是utf8,则会显示为utf8mb3,而不是utf8.
其实这个改变是意料之中的,毕竟utf8mb4已经慢慢替代utf8成为主流了。
4、可以在MGR运行的过程中更新allowlist 的值,将新成员添加到MGR的allowlist中无需再重新启动MGR
5、--skip-slave-start参数的作用是防止MySQL服务重启的时候自动启动复制关系,在之前的版本中,修改这个参数可以在my.cnf中修改或者命令行中添加参数的方法,这两种方法都不可避免的要登录到MySQL Server所在的host服务器上,新版MySQL中,该参数将不受此限制,可以使用持久化配置文件set persist_only语句进行设置,这样,就可以从任何一个客户端上去执行修改。而不必登录MySQL服务所在的host机器。
四、Performance Schema优化
这块儿没有做太多的研究,有兴趣的可以去官网查看。
五、bug修复
整体上,这个版本主要是修复之前版本的bug,修复了200多个bug,在MGR等高可用组件上没有特别多的更新。
说到了bug修复,这里还分享一个MySQL选择小版本选择思路:
一般情况下,查看当前MySQL版本的release note,如果发现当前版本的release note中修复的bug比较少,说明上一个版本中的bug比较少,那么选择当前版本的上一个MySQL版本或者选择当前版本,都会比较合适,优先选择当前版本,因为新版本可能会有新的特性;
如果当前版本的修复的bug很多,说明上一个版本中bug很多,不建议选择,而当前版本修复了很多bug,也不能保证稳定,所以还是建议观望或者再往前找合适的MySQL版本。
更多相关文章
- 'xlargeScreens' in package 'android'
- Android(安卓)版本兼容 — Android(安卓)6.0 和 7.0后获取Mac地
- android“设置”里的版本号
- Android(安卓)version and Linux Kernel version
- opengrok setup on ubuntu for android source code browser
- Android——开发环境
- android通过ksoap2对webservice的解析
- Android如何获得系统版本
- Android,一个思路实现APP版本更新