mysql导入大型的sql文件遇到问题及解决办法

我们在用mysql数据库时,有时会把这个数据库里的数据弄到另一个数据库,这时候我们会用到把数据导成sql文件,
	然后再执行该sql添加数据到另一个数据库中,下面来写一下,本人在操作时遇到的问题,及解决办法:
	1.利用连接数据库的图形界面导入sql:
		这样导入的方式1是速度慢,2是会遇到各种的报错,比较麻烦:
	(一)我们导入sql时会因为导出sql文件执行添加表的顺序不一样会报Cannot delete or update a parent row: a foreign key constraint fails (...);
		我们可以使用  SET FOREIGN_KEY_CHECKS=0;  来禁用外键约束.
		插入数据后再用  SET FOREIGN_KEY_CHECKS=1;  来启动外键约束.
		查看当前FOREIGN_KEY_CHECKS的值可用如下命令  SELECT  @@FOREIGN_KEY_CHECKS;

	( 二 )在使用批量插入语句时插入大量的数据时,报错 1153 - Got a packet bigger than 'max_allowed_packet' bytes 
		我们可以使用  set global max_allowed_packet = 2*1024*1024*10   设置最大值为20M
		或则在my.ini加入:[mysqld]max_allowed_packet=16M  重新启动mysql
		然后再执行插入语句就不会报错了。
	2.利用命令导入sql文件
		我们有时也会遇到配置的问题报错:
		一般在my.ini中配置一下以下参数
			max_allowed_packet=100M;这个值当然要大于你导入文件的大小。
			wait_timeout=2880000
			interactive_timeout = 2880000;mysql的连接时间,如果没有该配置可以加上
		windows环境下的命令:
		
		
		图中1进入mysql的安装目录bin目录下;
		图中2:mysql -u root -p test  命令意思是root账户进入test数据库下点击回车数据密码
		会出现mysql>表示链接进入test数据库。
		导入数据文件:
		
		如上图1输入命令:source e:\data\user_prize.sql意思是执行user_prize.sql文件
		如上图2:warning都是0表示导入成功。
		希望上面的总结对大家有所帮助。
 
 
		
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值