mysql source 导入大文件_mysql source命令超大文件导入方法总结

本文介绍了如何使用mysqlsource命令高效地导入大体积的SQL数据,包括通过source命令一次性导入多个文件,以及设置max_allowed_packet参数来处理大文件。还提供了解决大批量文件导入的自动化方案,通过创建包含所有导入命令的sql文件,实现一键导入。此外,讨论了通过修改my.ini配置文件以提高大文件导入的效率。
摘要由CSDN通过智能技术生成

导入1G的数据,但是在怎么都导入不了,用命令行就可以轻松搞定了。用mysql source命令可以导入比较大的文件。

代码如下

复制代码

mysql>use dbtest;

mysql>set names utf8;

mysql>source D:/www/sql/back.sql;

通过source命令导入多个文件,可以新建一个sou.sql文件,里面存放下面的命令

例如:

代码如下

复制代码

source d:/a1.sql;

source d:/a2.sql;

当你运行

这样就可以在一个source命令里面导入多个sql文件了。

但这样会有一个问题,如果有一100个这样的文件我们一个个去写命令肯定很麻烦,下面我百度搜索到一个解决办法

代码如下

复制代码

新建一个all.sql

vim all.sql

在里面写入:

source 1.sql

source 2.sql

......

source 53.sql

source 54.sql

然后只要

mysql> source all.sql

另一种大文件导入解决办法,这个是用服务器管理权限的用户了

mysql source 命令导入大的sql

在mysql的安装目录下 找到 my.ini文件 加入以下代码:

代码如下

复制代码

interactive_timeout = 120

wait_timeout = 120

max_allowed_packet = 32M

小例子

mytest_emp_dept.sql文件,内容如下:

代码如下

复制代码

CREATE TABLE emp(eid INT PRIMARY KEY AUTO_INCREMENT, ename VARCHAR(20) NOT NULL, esex VARCHAR(10), deptid INT NOT NULL);

CREATE TABLE dept(deptid INT PRIMARY KEY AUTO_INCREMENT, dname VARCHAR(20) NOT NULL,daddress VARCHAR(200));

INSERT INTO emp(ename,esex,deptid) VALUES('chris','M',1),('edge','M',1),('kelly','W',2),('maryse','W',2);

INSERT INTO dept(dname,daddress) VALUES('development','beijing'),('accounting','shanghai');

SELECT ename,esex,dname,daddress FROM emp,dept WHERE emp.deptid=dept.deptid ORDER BY ename;

导入sql的命令行如下:

代码如下

复制代码

source "路径名"+/mytest_emp_dept.sql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值