萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql source命令超大文件導入方法總結

mysql source命令超大文件導入方法總結

本文章來給各位朋友介紹利用mysql source命令超大文件導入方法總結,下面收集了兩種解決辦法,一種是把數據庫分文件導出然後再導入,另一種是修改my.ini配置文件,下面我一一給各位朋友介紹。

導入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

copyright © 萬盛學電腦網 all rights reserved