python Django框架连接oceanbase问题

配置如上,报错信息是django.db.utils.OperationalError: (1193, “Unknown system variable ‘storage_engine’”),由于使用的是MySQLdb这个python包,是否需要将django底层调换成pymysql进行连接驱动?或者是否有其他方法?
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘’,
‘USER’: ‘’,
‘PASSWORD’: ‘’,
‘HOST’: ‘’,
‘PORT’: ‘2883’,
‘OPTIONS’: {
‘charset’: ‘utf8mb4’,
‘init_command’: ‘SET storage_engine=INNODB;’
},
}
}

这个跟主要是django需要对default_storage_engine进行一些操作,OB暂时没有这个变量,无需换django的底层驱动,我现在正在修改,马上就可以推出去了。
你在这里init set storage_engine是没用的,因为ob没有该变量,修改也不会生效。
稍等两三天,应该你就可以使用django原生进行配置了。

1 个赞

好的麻烦了,麻烦推出后在这个贴子下面回复一下,谢谢

参照这个issue:https://github.com/oceanbase/oceanbase/issues/952 目前已经列在3.1.5-ce的milestone里面了

好的已了解,看issue暂时还没提供具体方案

解决方案就是加入storage engine系统变量,现在正在等待代码合并

https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000642485

4.2.2社区版本,修改这个参数时报错:

obclient [(none)]> set default_storage_engine='InnoDB';

obclient [(none)]> set default_storage_engine='InnoDB';
ERROR 5855 (HY000): parameter cannot be modified because specified value is invalid

请问是哪里没对?