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.)   
  • 相关阅读:
    mysql存储过程 --游标的使用 取每行记录 (多字段)
    mysql rowid实现
    redis进程守护脚本
    CF1042B 【Vitamins】(去重,状压搜索)
    CF1042A 【Benches】(优先队列)
    魔板 Magic Squares(广搜,状态转化)
    解方程(hash,秦九韶算法)
    noip模拟赛 动态仙人掌(并查集,贪心)
    (暴力碾标算)NOIP模拟赛 宗教仪式
    牛客网NOIP赛前集训营-提高组18/9/9 A-中位数
  • 原文地址:https://www.cnblogs.com/cy163/p/1771438.html
Copyright © 2011-2022 走看看