帮助中心 >  技术知识库 >  数据库 >  相关技术支持 >  Mysql导入大容量SQL文件数据可能遇到的问题

Mysql导入大容量SQL文件数据可能遇到的问题

2017-05-11 14:41:13 7446

mysql在通过导入sql文件可能会出现下面二个问题:

1.如果sql文件过大,会出现"MySQL server has gone away"问题;

2.如果sql文件数据有中文,会出现乱码

     

解决办法:

问题1:出现MySQL server has gone away"问题,是因为mysql默认的"max_allowed_packet"变量值过小.

查看目前配置

show VARIABLES like '%max_allowed_packet%';

    显示的结果为:

 

+--------------------+---------+

| Variable_name      | Value   |

+--------------------+---------+

| max_allowed_packet | 1048576 |

+--------------------+---------+

说明目前的配置是:1048576/1024/1024 = 1M

 

    修改max_allowed_packet:

    方法1: SET GLOBAL max_allowed_packet = 500*1024*1024;(经测试无效)

方法2: 直接修改配置文件,重启mysql

修改my.ini文件

blob.png 

重启mysql,在查看修改后的max_allowed_packet

show variables like %max_allowed_packet%;

blob.png

    

问题2:登录时指定字符集编码

mysql -uroot -P3308 -p123456  - -default-character-set=utf8  (-P是指指定端口号)

blob.png 

    最后通过source命令 即可成功导入:

Use databasename;

source  E:ydj\test.sql

blob.png 


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: