Mysql导入大容量SQL文件数据问题_MySQL
程序员文章站
2022-04-28 11:48:47
...
bitsCN.com
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 windows中修改my.ini文件,在linux中修改my.cnf文件. C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/my.ini(安装mysql时的,指定的数据文件目录)
重启mysql后,在查看修改后的max_allowed_packet值
问题2:登录时指定字符集编码 mysql -uroot -P3308 -p123456 - -default-character-set=utf8 (-P是指指定端口号) 最后通过source命令 即可成功导入: source E:ydj/test.sql
作者 LoveJavaYDJ bitsCN.com
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 windows中修改my.ini文件,在linux中修改my.cnf文件. C:/Documents and Settings/All Users/Application Data/MySQL/MySQL Server 5.5/my.ini(安装mysql时的,指定的数据文件目录)
重启mysql后,在查看修改后的max_allowed_packet值
问题2:登录时指定字符集编码 mysql -uroot -P3308 -p123456 - -default-character-set=utf8 (-P是指指定端口号) 最后通过source命令 即可成功导入: source E:ydj/test.sql
作者 LoveJavaYDJ bitsCN.com
推荐阅读
-
php将mysql数据库整库导出生成sql文件的具体实现
-
PHP处理SQL脚本文件导入到MySQL的代码实例
-
mysql从执行.sql文件时处理\n换行的问题
-
mysql5的sql文件导入到mysql4的方法
-
php将csv文件导入到mysql数据库的方法
-
java实现批量导入.csv文件到mysql数据库
-
Python之csv文件从MySQL数据库导入导出的方法
-
mysql遇到load data导入文件数据出现1290错误的解决方案
-
Python中LOADDATAINFILE语句导入数据到MySQL遇到问题的解决方案分享
-
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)