首页 > 技术文章 > MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件
2020
06-23

MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件

笔者最近几天帮助一位客户搬迁MYSQL,因为客户的MYSQL数据库非常庞大,大概3G大小,笔者按照网上的方法实验了很多种方法,下面来告诉大家如何正确的导入MYSQL大数据库方法,因为有的数据库大小超过100M,可能会有几个G,那么肯定和小数据库不一样的。

  1:笔者按照网上的方法采用PHPMYADMIN的方法导入,大家都知道PHPMYADMIN只能导入2M大的数据库,如果要大于2M那么肯定要用修改几个文件。

   (1):修改PHP配置文件的大小,然后来更改设置,upload_max_filesize修改这个和post_max_size和这2个配置文件的大小,然后在导入,这个方法笔者测试了,只能修改到最大2G,不能再大,并且因为2G非常大,要上传在导入,这个速度肯定非常慢。

   (2):还有网上分享的一个方法,是先在PHPMYADMIN目录建立一个文件夹,然后修改config.inc.php配置文件,在修改里面的$cfg['UploadDir']=这个设置你的文件名,但是笔者测试这个发现,因为新版的配置文件就没有config.inc.php文件夹,然后如果用新版的配置文件修改,发现,导入界面是没有变化的,笔者用2.2 2.6版本的方法测试,也不得实现,没有出来配置文件,可能笔者的方法有误,希望大家给予纠正。

PHPMYADMIN的方法我们发现只能导入一些非常小的文件,对于大数据库文件还是没招。

 2:在网上找了又找,又发现一种方法,是用BigDump来导入,这个方法和PHPMYADMIN有点类似,不过这个工具的优点是,非常小,只有50K大小,只要把这个文件上传到FTP上去,然后修改里面数据库配置文件,在把你的数据库备份上传上去,就可以导入到数据库,但是笔者导入,的时候点击Start Import竟然出错了,无法导入。

3:第三个方法大家,也都是非常熟悉,使用Navicat导入MYSQL,笔者用这个软件测试发现,这个软件导入MYSQL特别是.SQL文件非常慢,甚至等了1个小时才导入了不到30M的数据库,还频繁报错,应该是因为我的数据库是从LINUX导出的吧。

4:亮出最终大招,采用CMD命令行导入,也就是MYSQL自带的MYSQL导入工具导入,很多朋友,因为习惯使用了WIN系统,所以非常不喜欢命令行模式,但是实际上CMD命令行的速度以及效率以及他的性能是最优质的,我们来看看步揍。

  先在我的电脑桌面,点击开始,输入CMD命令,然后输入D: 命令

 然后应该会提示你已经进入D盘了,按照你数据库的地址,我的数据库是在D盘的ruanjian这个文件夹目录,我的D盘目录应该是d:\ruanjian\mysql

 输入命令:cd ruanjian\mysql\bin     类似于这样,大家可以先在本地编辑好,然后直接复制进你的命令,然后回车键执行。

  然后,在导入数据库,非常简单,命令如下:

  mysql -u root -p583idc shujuku <d:\1.sql 

这个命令,大家不要直接打进命令行,需要改为自己的在打,我们来注释下这几个的意思,需要更改为你自己的数据库。

  root是你的数据库用户名,583idc是你的数据库密码 shujuku是你要导入的数据库名称 然后后面,就是你的数据库文件了。

笔者亲测,2G文件,没报任何错误,半个小时导入到我的数据库里面,非常爽。


二、问题描述:Navicat for Mysql 导入数据量较大的sql文件时,会提示操作失败,如图, 

MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件,1.png,新版,工具,数据库,第1张


解决方法: 采用mysql source命令导入; 

操作步骤: 

1. 打开cmd,输入命令:mysql -h localhost -u root -p 

2. 输入数据库密码,如图: 

 MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件,2.png,新版,工具,数据库,第2张

3.  查询当前用户下的数据库: show databases;  

 MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件,3.png,新版,工具,数据库,第3张

4.  找到你要导入数据库的数据库名,输入命令: use databaseName;  databaseName为你要导入的数据库名。 

 MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件,4.png,新版,工具,数据库,第4张

5.  最后一步,输入命令: “source sql文件路径;”, 如: source d:\test.sql;  

 MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件,5.png,新版,工具,数据库,第5张

6.  查看结果: 

MYSQL.导入超过100M数据库方法,MYSQL命令行导入大数据库方法-解决Mysql导入数据量较大的SQL文件,6.png,新版,工具,数据库,第6张

导入成功!