gpt4 book ai didi

python - 使用 python Django 和 Mysql。由于 Binlog,数据不会插入 MySQL

转载 作者:行者123 更新时间:2023-11-29 07:35:03 25 4
gpt4 key购买 nike

我在用django设计网站和delopy的时候,发现如果用MySQL,Binlog是activate(format:STATEMENT)会有些麻烦。

此部署有我的设置:

  • 基于 Django 的网站
  • uwsgi
  • 宁夏
  • MySQL

第一步,我需要将我的模型迁移到数据库,所以我这样输入:

python manage.py migrate

像这样回溯:

    django.db.utils.OperationalError: (1665, 'Cannot execute statement: impossible 
to write to binary log since BINLOG_FORMAT = STATEMENT and at least one table
uses a storage engine limited to row-based logging. InnoDB is limited to row-
logging when transaction isolation level is READ COMMITTED or READ UNCOMMITTED.')

在网上搜索后,我知道解决它的一种方法是更改​​ Binlog 格式,这非常适合我。

但是如果我不想更改我的 Binlog 配置,我仍然想知道如何修复它。我认为 Django 可以支持这种格式的 Binlog。

最佳答案

我遇到了类似的问题并通过将隔离级别更改为“可重复读取”来修复它。你真的只需要它来应用迁移然后你可能(?)删除它。在 settings.py 中,我将 DATABASES 设置更改为:

DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'db_name',
'USER': 'db_user',
'PASSWORD': 'db_password',
'HOST': 'db_host',
'PORT': 'db_port',
'CONN_MAX_AGE': db_conn_max_age,
'OPTIONS': {
'isolation_level': "repeatable read",
},
}
}

然后运行 ​​python manage migrate,然后删除 OPTIONS 条目。关注these risks .

关于python - 使用 python Django 和 Mysql。由于 Binlog,数据不会插入 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49312705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com