zoukankan      html  css  js  c++  java
  • 用SQLYog导出导入数据所遇到的问题

    昨天公司想要将一个数据库的数据导出再导入到另外一个数据库里面,SQLYog已经具有了这个功能呢,所以本以为直接按两下键就可以搞定了。不过用这个导出的时候没有任何问题,但是在导入到另外一个数据库的时候老是出现问题,查看了一下Error Log 发现是因为不能创建某些表因为外键引用出现问题从而导致整个Dump失败,尝试了数次之后发现还是不行,之后就直接用Mysql提供的命令来搞,没有问题,命令如下:

    Java代码 复制代码
    1. mysqldump -h somehost -u root -p --opt --databases some_db --single-transaction --flush-logs > d:/dumpfile.sql  
    mysqldump -h somehost -u root -p --opt --databases some_db --single-transaction --flush-logs > d:/dumpfile.sql


    运行这个命令后,登陆Mysql,再用命令

    Java代码 复制代码
    1. msyql>source d:/dumpfile.sql  
    msyql>source d:/dumpfile.sql


    这时候如果用SQLYog导入数据也没有问题的,可能是它在导出的Sql文件当中,表的创建顺序产生了问题出现外键引用出错。
    为什么用SQLYog导出数据的时候会出现问题,而用以上命令却没有。不知道各位有没有类似经验。

    后来发现好像是因为数据文件太大了,超过了max_allowed_packet上限,导致导入失败。要想导入数据量大的文件,要将这个变量的上限改大一点,方法如下:

    Java代码 复制代码
    1. set global max_allowed_packet=10000000;   
    2. set global net_buffer_length=10000;   
    3.   
    4.   
    5. 第一个变量的描述是:The maximum packet length to send to or receive from the server. (Default value is 16MB.)    
    6.   
    7. 第二个变量的是:The buffer size for TCP/IP and socket communication. (Default value is 16KB.)   
  • 相关阅读:
    python map 详解
    python 中的集合(set) 详解
    python中的列表(list) 切片详解
    django 创建数据库表 命令
    django如何检查创建的模型(model)是否有语法错误或者逻辑错误
    python 列表(list)去除重复的元素总结
    python中的 zip函数详解
    django post和get 比较
    正则表达式的特殊符号和字符详细解析
    .NET/MVC-发布到IIS6.1提示未能加载程序集System.Web.Http.WebHost
  • 原文地址:https://www.cnblogs.com/cy163/p/1771438.html
Copyright © 2011-2022 走看看