求解navicat for mysql 对1个G的sql文件导入超级慢怎么处理?在线等!急急急!求指点

作者&投稿:禾雷 (若有异议请与网页底部的电邮联系)
Navicat for MySQL成功连接到MySQL后怎么把sql文件放进去,急急急,在线等~

在链接上点右键,在弹出的菜单上选“运行批次任务文件”,如果不成功,可能需要先在一个库,然后打开库,点右键选择选“运行批次任务文件”

看结果日志,可能表不存在,也可能是没有权限。
所以你确认,如果没有这个表,就把 DROP TABLE [dbo].[rtm_weather_d] 这句话去掉。


如果这个表存在,就是没有权限。增加权限。

你可以改成

if exists (select 1
from sysobjects
where id = object_id('rtm_weather_d')
and type = 'U')
drop table rtm_weather_d
go

这样,如果表不存在,就不会执行删除表的操作。

在my.ini最底下添加个KV对:

max_allowed_packet=100000M
然后重启Mysql,就可以按普通的方法导了,可以用mysql命令,也可以用navicat for mysql(我一般用这个)
不知道能不能写成100G,没试过,LZ试下吧。

如果改不了my.ini可以试试这个方法,我没试过,因为我一直是改my.ini的,相信你有这么大的数据库应该不是用的虚拟主机吧:
set global max_allowed_packet = 100*1024*1024*1024;
然后用:
show VARIABLES like '%max_allowed_packet%';
查看一下是否修改成功,这个应该就不用重启mysql了,重启反而失效了。

mysqldump命令试试这要好一些?很多参数可以控制。