版本号的问题

【 使用环境 】 测试环境
【 OB or 其他组件 】OB
【 使用版本 】4.2.2.1
【问题描述】django(版本4.2)使用MySQL模式连接OB,但是django提示需要MySQL8.0以上,查看django文档后,确认需要MySQL8以上版本。查看代码判断逻辑后,是使用select version()获取的版本号,我使用该语句从OB获取得到【5.7.25-OceanBase_CE-v4.2.2.1】,经正则后得到版本号为【5.7.25】,导致django框架下无法写入数据到OB。我的疑问是:1. 【5.7.25】是否是代表的MySQL的版本? 2.如果没有实际意义,这个版本号可以改不?比如我改成8.0,应该在哪里操作修改呢?
image
写入时的异常信息:
image

django文档:

【复现路径】使用django4.2以上版本均能复现
【附件及日志】

内部做过django 3.2版本对ob的适配,是没问题的。方便用低版本的django吗?

可以改,你试试改完能不能用

mysql> set global version=‘8.0.0’;
Query OK, 0 rows affected (0.03 sec)

mysql> select @@version;
±----------+
| @@version |
±----------+
| 8.0.0 |
±----------+
1 row in set (0.00 sec)

或者尝试修改改变量方式看下能否规避。
SET GLOBAL version = ‘8.0.25-OceanBase_CE-v4.2.2.1’;
重建会话,查询版本是可以改成功的
obclient [(none)]> select version();
±-----------------------------+
| version() |
±-----------------------------+
| 8.0.25-OceanBase_CE-v4.2.2.1 |
±-----------------------------+
1 row in set (0.001 sec)

3.2有很多漏洞,所以需要升级。问题是,即使现在我降版本了,后续升级也是个问题了。

好嘞,谢谢大哥,我试试看。

设置版本号以后可以写入了,会不会有其他问题就只能后面看了。另外,请教下5.7.2是指的基础的mysql版本吗?

此方法可行,谢谢大哥

这个应该是指100%兼容mysql5.7,mysql8.0应该没有全面兼容