簡體   English   中英

升級到ubuntu 16.04后,無法在MySQL上遷移django數據庫

[英]Can't migrate django databases on MySQL after upgrading to ubuntu 16.04

在ubuntu 16.04上重新安裝系統,當第一次嘗試運行python manage.py makemigrations出現以下錯誤:

django.db.utils.OperationalError: (1193, "Unknown system variable 'storage_engine'")

我的django數據庫設置是:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'license_portal',
        'USER': '****',
        'PASSWORD': '****',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            "init_command": "SET storage_engine=MyISAM",
        },
    },
}

圖書館:

(mmslic) ➜  mmsLicenseServer git:(master) ✗ pip freeze              
Django==1.8.12
django-admin-bootstrapped==2.5.7
django-bootstrap3==7.0.1
MySQL-python==1.2.5
mysqlclient==1.3.7
requests==2.9.1
(mmslic) ➜  mmsLicenseServer git:(master) ✗ dpkg -l | grep -i mysql            
ii  libmysqlclient-dev                            5.7.12-0ubuntu1                                     amd64        MySQL database development files
ii  libmysqlclient20:amd64                        5.7.12-0ubuntu1                                     amd64        MySQL database client library
ii  libmysqlclient20:i386                         5.7.12-0ubuntu1                                     i386         MySQL database client library
ii  libqt4-sql-mysql:i386                         4:4.8.7+dfsg-5ubuntu2                               i386         Qt 4 MySQL database driver
ii  mysql-client-5.7                              5.7.12-0ubuntu1                                     amd64        MySQL database client binaries
ii  mysql-client-core-5.7                         5.7.12-0ubuntu1                                     amd64        MySQL database core client binaries
ii  mysql-common                                  5.7.12-0ubuntu1                                     all          MySQL database common files, e.g. /etc/mysql/my.cnf
ii  mysql-server                                  5.7.12-0ubuntu1                                     all          MySQL database server (metapackage depending on the latest version)
ii  mysql-server-5.7                              5.7.12-0ubuntu1                                     amd64        MySQL database server binaries and system database setup
ii  mysql-server-core-5.7                         5.7.12-0ubuntu1  

在努力解決這個問題后,我發現問題是MySQL 5.7版本的變化。

使用MySQL 5.7,命令SET storage_engine=MyISAM將不起作用,所以這就是問題所在!

正如在MySQL 5.7文檔中發現的那樣,請使用default_storage_engine 我的配置變為:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'license_portal',
        'USER': '****',
        'PASSWORD': '****',
        'HOST': '127.0.0.1',
        'PORT': '3306',
        'OPTIONS': {
            "init_command": "SET default_storage_engine=MyISAM",
        },
    },
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM