mysql 导出sqlite_sqlite3导出数据库:迁移导出sqlite3数据到mysql流程

本文详细介绍了如何从SQLite数据库导出数据并将其导入到MySQL的过程。首先,通过ssh连接到服务器并拷贝SQLite数据库文件,然后使用sqlite3命令导出数据到SQL文件。接着,修改SQL文件以适应MySQL的语法,安装并配置MySQL环境,创建数据库并设置字符集。最后,导入数据到MySQL,并确保Django项目部署后数据无误。
摘要由CSDN通过智能技术生成

假设:

ssh root@xx.xxx.xxx.x

password: xxxxxxxxx

开了 80 81 8080 8088 端口

(1)进入数据文件所在目录:cd /data/www/db

将数据文件拷贝到home: cp db.sqlite3 /home

(2)将sqlite3数据导出到dump666.sql

sqlite3 db.sqlite3

sqlite> .output /home/dump666.sql

sqlite> .dump

sqlite> .exit

(3)pycharm或者命令行下载文件

pycharm download /home/dump666.sql

(4)将导出的dump666.sql改造成mysql接受的语法格式

取出所有创建表的地方,将表名的双引号去掉;

将字段设置为`包含,

autoincrement变auto_increment大小写都行;

datetime按照原来存取写入datetime(3)还是datetime(6)

删除:

PRAGMA foreign_keys=OFF;

BEGIN TRANSACTION;

CREATE TABLE …..

CREATE INDEX ...

CREATE UNIQUE INDEX …

COMMIT;

只剩下insert的内容

改变文件名为dump666modify.sql

(5)配置mysql环境

apt-get install mysql-server

apt-get install mysql-client(python使用)

设置数据库用户名和密码

(6)数据库查看版本并且登陆

select versions()  查看版本

mysql -uroot -p

(7)创建数据库设置正确编码(数据有汉字):

CREATE DATABASE annosys;

alter database annosys default character set utf8;

show variables like 'character_set_%’;

set  names utf8;

DROP DATABASE annosys;

或者下面方式:

create database annosys DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

use annoys;

set character_set_server = utf8;

set character_set_database = utf8;

/etc/init.d/mysql restart

(8)利用命令导入数据库annosys

导入到mysql容易造成时间精度丢失,设置模型表的时间字段,我设置6位:detetime(6)

mysql -uroot -p -f annosys < dump666modify.sql

(9)以上数据导入成功后,然后重新部署Django 项目

部署Django之前要杀干净原来部署端口48080和uwsgi,然后重启nginx服务。

lsof -i tcp:48080

kill -9 xxxxxx

ps -ef | grep uwsgi

ps -ef | grep uwsgi | awk '{print $2}' | xargs kill -9

/etc/init.d/nginx restart -c /etc/nginx/conf.d/nginx.conf

(10)检查网站数据是否异常,其实在数据导入过程中如果条数一致,没有报错,基本就没有问题

pass

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值