如何修改settings.py以迁移从SQLite3数据库到MySQL数据库?

0 投票
2 回答
827 浏览
提问于 2025-04-17 10:59

我在settings.py和local settings.py里加了以下内容:

DATABASES = {
    'default': {
        # The last part of ENGINE is 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'ado_mssql'.
        'ENGINE': 'django.db.backends.mysql', 
        'NAME': 'mydbname'
    'USER': 'myroot',    # Not used with sqlite3.      
        'PASSWORD': '123',        
    }
}

DATABASE_OPTIONS = { "init_command": 'SET NAMES "utf8"' ,  "init_command":'SET storage_engine=INNODB' , }

但是当我尝试启动服务器时,出现了以下错误:

错误追踪(最近的调用在最前面): 文件 "manage.py",第20行,在 import settings # 假设在同一目录下。 文件 "/usr/home/mydir/settings.py",第23行 'USER': 'myroot', # sqlite3不使用这个设置。 ^ 语法错误:无效的语法

我很困惑,因为我已经指定我在使用mysql。之前我用的是sqlite3,难道我遗漏了什么其他的设置或者数据库路由的层级吗?

2 个回答

0

在最后加一个逗号,并确保你安装了python-mysql(mysqldb)这个插件。

4

你在NAME这一行的末尾漏了一个逗号。

另外,记得调整一下你的缩进。

撰写回答