千家信息网

如何解决Mysql导入大容量SQL文件数据问题

发表于:2024-10-02 作者:千家信息网编辑
千家信息网最后更新 2024年10月02日,这篇文章主要介绍了如何解决Mysql导入大容量SQL文件数据问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。mysql在通过导入sq
千家信息网最后更新 2024年10月02日如何解决Mysql导入大容量SQL文件数据问题

这篇文章主要介绍了如何解决Mysql导入大容量SQL文件数据问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

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

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

解决问题:

问题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 www.2cto.com
中修改my.ini文件,在linux中修改my.cnf文件.
C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini(安装时的,指定的数据文件目录)


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



问题2:登录时指定字符集编码
mysql -uroot -P3308 -p123456 - -default-character-set=utf8 (-P是指指定端口号)


最后通过source命令 即可成功导入:
source E:ydj\test.sql


感谢你能够认真阅读完这篇文章,希望小编分享的"如何解决Mysql导入大容量SQL文件数据问题"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

0