从外部导入sql表其中有近5万条记录,执行近2万条后提示Not enough memory, application terminated!然后mysql小海豚自己退出。
而选中剩余记录接着导入仍可插入表中
想问一下各位大神,是存在什么缓存问题吗
另外mysql小海豚可以直接导入sql文件吗,而不是选中整个文件内容执行其所有sql语句,目前,一直都是执行它的sql语句,速度有点慢,而且出现了以上问题
求助大神指导
你的电脑内存看一下是否满了如果没有则是你的sql数据库配置的内存太小了!
执行sql语句是最快的了,如果数据量特别大,百度专门的数据迁移工具,你这才几万条一般sql语句都没有压力!
一般的管理工具都一个叫 “数据传输”的可以导数据
innodb_log_file_size = 500M #事物日志大小
#innodb_log_file_size =100M
innodb_log_files_in_group = 2 #两组事物日志
innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日志组
是不是没有配置环境变量
1>在本地建一个与数据库同名的数据库
2>选择navicat中连接服务器的数据库,在菜单栏选择工具-->数据传输
3>在弹出的的窗口中“源”部分就是你要导出的源数据库,“目标”就是本地的数据库,点击左下角全选后,再点击开始按钮
innodb_log_file_size = 500M #事物日志大小
#innodb_log_file_size =100M
innodb_log_files_in_group = 2 #两组事物日志
innodb_log_group_home_dir = /longxibendi/mysql/mysql/var/#日志组
以上不是复制
内存不足
按照上面调整配置
或者复制sql分开部分执行
可能是你的电脑内存太小了,试试把sql分几次导入
导入的数据量多大,占用了大量的内存,导致内存不足,可以关闭不必要的程序,或者将SQL分批执行
在使用SQLyog导入数据库时,出现了报错提示(数据库连接已断开)。
查看后发现错误时由于导入时用的.sql文件过大导致的。
首先查看了下.sql文件大小为360M,然后使用sql语句查询数据库最大支持的大小:
SHOW GLOBAL VARIABLES LIKE 'max_allowed_packet';
随后根据需求对该值进行修改:
SET GLOBAL max_allowed_packet=1024*1024*400;
此处是设置了400M大小的限制。
如果后期再增加的话再改吧
只能帮你到这了
可以直接执行sql文件
mysql -u -p < sql脚本; 如:
mysql -uroot -proot123 mydb <D:\mydb.sql