• 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:mysqlin
    mysqldump -uroot -p 数据库名 > xxx.sql

    输入密码后,会自动导出sql到bin目录下,找到之后就可以用它来导入Linux了

    导入Linux的话可以使用navicat,参考我的另一篇帖子 http://www.cnblogs.com/hellxz/p/7638238.html

  • 相关阅读:
    代理模式
    栈和队列----按照左右半区的方式重新组合单链表
    栈和队列----合并两个有序的单链表
    Java中的线程池
    SpringMVC中的参数绑定
    Mybatis常见面试题汇总
    ADC裸机程序
    用uart实现printf函数
    uarts裸机程序
    定时器裸机程序
  • 原文地址:https://www.cnblogs.com/hellxz/p/7654434.html
Copyright © 2020-2023  润新知