django sqlite3 mysql_如何把Django正在使用的数据库从sqlite3切换为mysql

本文介绍了如何将Django项目从sqlite3数据库迁移到mysql,包括mysql的配置、数据导出、数据库设置、表的创建和数据导入等步骤。

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

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

一,安装mysql数据库,Gemfield使用的是Mysql的Docker容器,Gemfield使用的mysql版本是5.7

设置mysql编码为utf8(默认为latin1)

1.修改mysql文件夹下: /etc/mysql/mysql.conf.d/mysqld.cnf

① 在[mysqld]上加入:

[client]

default-character-set=utf8

② 在[mysqld]下加入:

collation-server = utf8_unicode_ci

init-connect='SET NAMES utf8'

character-set-server = utf8

2.修改mysql文件夹下: ./conf.d/mysql.cnf

① 在[mysql]下加入:

default-character-set=utf8

3,验证

在mysql命令提示符中:show variables like '%char%';

可以看到除了filesystem为binary外,其它编码都是utf8

二,导出数据

1,Django的settings/databases为sqlite3时导出数据:

python manage.py dumpdata > datadump.json

2,修改settings/databases 成mysql:

'default':{'ENGINE':'django.db.backends.mysql','NAME':'gemfield','HOST':'ai.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值