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

标签 python mysql django binlog

当我使用django设计一个网站并进行delopy时,我发现如果我使用MySQL,Binlog被激活(格式:STATMENT),我会遇到一些麻烦。

我对此部署的设置:

  • 基于 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/

相关文章:

python - Python 函数参数打包和解包

python - VIM - 未知功能 : pythoncomplete#Complete

python - 我将如何为嵌套的 .JSON 树(Python 字典)调整我的 Python 代码以包含多个键?

php - Mysql查询前3名客户

python - 在 Amazon AWS 上的 PyPy 上运行 Django 应用程序

python - 弄清楚如何在 sklearn 中编写逻辑回归模型

MySQL 汇总难题

java - MySQL - 单一连接与池

python - 我怎样才能让 django-rest-framework-jwt 在注册时返回 token ?

Django - 基于URL的静态内容显示