当前位置:首页 > MySQL

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

canca9年前 (2017-08-22)MySQL526
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  
             windows中修改my.ini文件,在linux中修改my.cnf文件.
             C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.5\my.ini(安装mysql时的,指定的数据文件目录)
             
Mysql导入大容量SQL文件数据问题 - Mr.Can - Mr.Cans Blog
 
            重启mysql后,在查看修改后的max_allowed_packet值
             
Mysql导入大容量SQL文件数据问题 - Mr.Can - Mr.Cans Blog
 
问题2:登录时指定字符集编码
            mysql -uroot -P3308 -p123456  - -default-character-set=utf8  (-P是指指定端口号)
            
Mysql导入大容量SQL文件数据问题 - Mr.Can - Mr.Cans Blog         
最后通过source命令 即可成功导入:
              source  E:ydj\test.sql
 
   Mysql导入大容量SQL文件数据问题 - Mr.Can - Mr.Cans Blog

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/14.html

标签: MySQL
分享给朋友:

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

mysql 配置命令大全

--auto-rehash       Enable automatic rehashing. One doesn't need to use             …

MySQl字段类型

MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,…

MySQL免安装配置方法

1.下载一个安装版的。 安装版,安装后%MYSQL_HOME%\bin下有一个mysqld-nt.exe文件。将它复制出来(珍藏起来)。 2.下载一个免安装版MSYQL 将它解压。例如:E:/mysql-6.0.3-alpha-win32 将my-huge.ini另存为my.ini。 打开my.in…

Mysql中触发器的使用

在SQL中,名词触发器指“在数据库中为响应一个特殊表格中的某些事件而自动执行的程序代码。”(Wikipedia)说得简单一些,它是在一个特殊的数据库事件,如INSERT或DELETE发生时,自动激活的一段代码。触发器可方便地用...…

MySQL常用操作

1、字符串拼接:update products a,categorys b set a.categoryNumbers = concat(b.parent,",",a.categoryId,",")where b.id = a.categoryId…

java获取数据库里所有的表名

一.Java方法// 得到当前数据库下所有的表名public void getTableNameByCon(Connection con) {   try {   DatabaseMetaData meta = con.getMetaData(); …

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。