Django将数据库从sqlite3切换为mysql

本文详细介绍了如何将Django项目中的数据库从sqlite3迁移到mysql,包括导出数据、修改settings、安装MySQLdb驱动、处理json编码问题、生成数据库表和导入数据等步骤。注意在迁移过程中,需要确保数据库编码、处理重复表和外键等问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要把Django正在使用的数据库从sqlite3切换为mysql,基本思路就是先把sqlite3数据库里的数据使用Django的方式导出来,然后将Django的settings文件中的database 改为mysql,最后再使用Django的方式将数据导入。
一 导出数据
Django的settings/databases为sqlite3时导出数据

python manage.py dumpdata --exclude=contenttypes --exclude=auth.Permission >datadump.json

二 修改settings/databases 成mysql:

DATABASES = {
    'default': {
        # 配置使用mysql
        'ENGINE': 'django.db.backends.mysql',  # 数据库产品
        'HOST': "远程数据库ip",  # 数据库ip
        'PORT': 3306,  # 数据库端口
        'USER': "zsk",  # 用户名
        'PASSWORD': "***",  # 密码
        'NAME': "zsk",  # 数据库名
        'OPTIONS': {'charset': 'utf8'},
    }
}

三 初始化MySQLdb驱动
在项目文件夹下的__init__.py上,把pymysql的名字更改为MySQLdb

import pymysql
pymysql.install_as_MySQLdb
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值