mysql 导入超大sql文件

mysql 导入超大sql文件_第1张图片

 

mysql -u root -p  登录mysql命令

mysql 导入超大sql文件_第2张图片

可以登陆mysql服务器使用source命令导入,会快很多,我这里导入500M,大概用了5分钟。

1. liunx登陆mysql

mysql -u 用户名 -p 数据库名

然后输入密码

登陆mysql控制台后,执行source命令,等待执行完成就好,(如果你的文件过大,执行报错,那么你需要用到第二步)

source /home/xxx.sql //这里是你上传到linux上到sql文件路径

mysql 导入超大sql文件_第3张图片

2.修改max_allowed_packet值

sql文件过大,mysql执行时超过最大包大小,导致连接断开,导入时报“mysql has gone away”错误
客户端max_allowed_packet取值范围4096-2G,默认值是16M
客户端net_buffer_length取值范围1024-512M,默认值16K
服务器max_allowed_packet取值范围1024-1G,默认值是1M
服务器net_buffer_length取值范围1024-1M, 默认值16K

//查看通信缓冲区的大小
show global variables like 'max_allowed_packet';

mysql 导入超大sql文件_第4张图片

//调整大小到500M

set global max_allowed_packet=1024*1024*500;

接下来重新导入,导入成功!

注:修改只对当前有效, 重启了MySQL他就还是会恢复原来的大小。如果是想永久生效,可以修改配置文件,在 mysql安装目录,在my.ini(windows下)或者my.cnf(linux下)中加入或修改配置参数:

max_allowed_packet = 500M
重启MySQL服务...

你可能感兴趣的:(mysql,sql,数据库)