Mysql导入大容量SQL文件数据问题

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

时间: 2024-10-26 18:49:52

Mysql导入大容量SQL文件数据问题的相关文章

Mysql导入大SQL文件数据问题

如果sql文件过大,会出现mysql out of memory  (Needed XXX bytes) ,或者 "MySQL server has gone away"问题; 另外如果sql文件数据有中文,会出现乱码. 解决的问题,修改max_allowed_packet参数,在my.ini或者my.cnf文件中,设置如下: max_allowed_packet=500M 重启mysql,登录,设置编码为utf8 mysql -uroot -p123456 --default-cha

如何在MySQL中导入大容量SQL文件

在实际工作中,有时需要导入大容量sql文件到MySQL,通常有以下三种方法: (1)通过phpmyadmin,不推荐,有内存等的限制: (2)通过Navicat Premium工具运行sql,不推荐,效率低: (3)通过source命令导入,推荐,效率高,经测试,导入一个3.02G的文件耗时3分08秒: 命令格式:source "路径名"+/mytest_emp_dept.sql

MySQL导入导出.sql文件及常用命令

MySQL导入导出.sql文件及常用命令 在MySQL Qurey   Brower中直接导入*.sql脚本,是不能一次执行多条sql命令的,在mysql中执行sql文件的命令: mysql> source   c:\\test.sql; 另附mysql常用命令: 一) 连接MYSQL: 格式: mysql -h主机地址 -u用户名 -p用户密码 1.例1:连接到本机上的MYSQL 首先在打开DOS窗口,然后进入mysql安装目录下的bin目录下,例如: D:/mysql/bin,再键入命令my

命令行模式下 MYSQL导入导出.sql文件的方法

一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简单的介绍一下命令行进入MYSQL的方法:1.C:\>mysql -h hostname -u username -p  .C:\>mysql -h localhost -u root-p按ENTER键,等待然后输入密码.这里hostname为服务器的名称,如localhost,username为M

MYSQL导入导出.sql文件(转)

一.MYSQL的命令行模式的设置: 桌面->我的电脑->属性->环境变量->新建-> PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径. 二.简单的介绍一下命令行进入MYSQL的方法: 1.C:\>mysql -h hostname -u username -p 按ENTER键,等待然后输入密码.这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root. 进入命令行后可以直接操作MYSQL

mysql 导入&导出sql文件

window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名 mysqldump -u dbuser -p dbname users> dbname_users.sql 3.导出一个数据库结构 mysqldump -u dbuser -p -d --add-drop-t

mysql导入导出sql文件--读书笔记2

window下 1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u dbuser -p dbname users> dbname_users.sql 3.导出一个数据库结构mysqldump -u dbuser -p -d --add-drop-table

MYSQL导入导出.sql文件

一.MYSQL的命令行模式的设置:桌面->我的电脑->属性->环境变量->新建->PATH=“:path\mysql\bin;”其中path为MYSQL的安装路径.二.简单的介绍一下命令行进入MYSQL的方法:1.C:\>mysql -h hostname -u username -p按ENTER键,等待然后输入密码.这里hostname为服务器的名称,如localhost,username为MYSQL的用户名,如root.进入命令行后可以直接操作MYSQL了.2.简单

mysql导入导出sql文件,source导入速度慢的解决办法

1.导出整个数据库mysqldump -u 用户名 -p 数据库名 > 导出的文件名mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名mysqldump -u dbuser -p dbname users> dbname_users.sql 3.导出一个数据库结构mysqldump -u dbuser -p -d --add-drop-table dbname &