win处navicat直接导出的sql脚本导入Linux mysql报错问题
最近几天在把win上的项目的数据库转移到Ubuntu,于是第一件事就是从win处的navicat直接导出sql脚本,然后进入Ubuntu导入的时候会报错误,跳过错误继续执行导致数据库表的缺失。
跨平台错误的操作如下:
如果都是win下的话,上边的这种操作是可以的,导入导出都没有错误,可是到了Linux下的时候,就会出现sql错误,最开始还以为是因为数据库版本问题,在Ubuntu下安装了好几个版本,最后停在了8.0.3最新的版本。之后问同事知:navicat导出的sql是经过navicat改变了的。
手动打开sql文件发现,如图:
最下边使用的是游标之类的东西,可是手写sql的时候我们知道一般保存的sql都是建表语句和插入语句的集合。
于是查了navicat的其他导出sql的办法,得出了方法一:先备份,然后提取sql
貌似可以直接提取,总之从这里提取的sql脚本是可以导入Linux成功并没有错误的。(几乎不存在mysql版本问题)
方法二:使用命令行直接导出
#命令行进入mysql根目录(以我的路径举例)
cd c:\mysql\bin
mysqldump -uroot -p 数据库名 > xxx.sql
输入密码后,会自动导出sql到bin目录下,找到之后就可以用它来导入Linux了
导入Linux的话可以使用navicat,参考我的另一篇帖子 http://www.cnblogs.com/hellxz/p/7638238.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了