红联Linux门户
Linux帮助

win处navicat直接导出的sql脚本导入Linux mysql报错问题

发布时间:2017-10-12 10:51:18来源:linux网站作者:东北小狐狸
最近几天在把win上的项目的数据库转移到Ubuntu,于是第一件事就是从win处的navicat直接导出sql脚本,然后进入Ubuntu导入的时候会报错误,跳过错误继续执行导致数据库表的缺失。
 
跨平台错误的操作如下:
win处navicat直接导出的sql脚本导入Linux mysql报错问题
 
如果都是win下的话,上边的这种操作是可以的,导入导出都没有错误,可是到了Linux下的时候,就会出现sql错误,最开始还以为是因为数据库版本问题,在Ubuntu下安装了好几个版本,最后停在了8.0.3最新的版本。之后问同事知:navicat导出的sql是经过navicat改变了的。
 
手动打开sql文件发现,如图:
win处navicat直接导出的sql脚本导入Linux mysql报错问题
 
最下边使用的是游标之类的东西,可是手写sql的时候我们知道一般保存的sql都是建表语句和插入语句的集合。
于是查了navicat的其他导出sql的办法,得出了方法一:先备份,然后提取sql。
win处navicat直接导出的sql脚本导入Linux mysql报错问题
win处navicat直接导出的sql脚本导入Linux mysql报错问题
貌似可以直接提取,总之从这里提取的sql脚本是可以导入Linux成功并没有错误的。(几乎不存在mysql版本问题)
 
方法二:使用命令行直接导出
#命令行进入mysql根目录(以我的路径举例)
cd c:\mysql\bin
mysqldump -uroot -p 数据库名 > xxx.sql
输入密码后,会自动导出sql到bin目录下,找到之后就可以用它来导入Linux了。
 
导入Linux的话可以使用navicat,参考:http://www.linuxdiyf.com/linux/32772.html
 
本文永久更新地址:http://www.linuxdiyf.com/linux/32773.html