mysql 快速导入大SQL文件

 最近做项目遇到了一种情况,由于服务器所在网不能够通过任何的外部数据库连接工具连接,所以只能在服务器上使用命令去创建数据库,使用source 命令去导入数据执行脚本,由于导出的数据没有经过批处理,所以文件内部都是insert语句;

但在具体运行的时候,导入的速度非常慢,顾而找到了如下的这种方法:

原来在默认情况下,当你去执行某个.sql文件的时候事物是自动提交的,也就是说insert一次提交一次,这样大大拖延了导入的速度;

在使用一下这种方式之后46万多的数据,比起自动提交的导入来说快了不少,以前需要几个小时才能导入的数据,一辆分钟就导入完了,一下是具体的使用方法:

1、进入mysql
mysql -u root -p

2、输入数据库密码

3、创建数据库(如果已经有数据库忽略此步骤)
CREATE DATABASE 数据库名;

4、设置参数
set sql_log_bin=OFF;//关闭日志
set autocommit=0;//关闭autocommit自动提交模式 0是关闭  1 是开启(默认)

5、使用数据库

use 数据库名;

6、开启事务
START TRANSACTION;

7、引入SQL文件
source 文件的路径;
在此处会引入sql文件,也就是你的insert;
8、成功后事务提交 
COMMIT; 

 

要将大型SQL文件导入MySQL数据库,可以按照以下步骤进行操作: 1. 首先,打开命令行并进入MySQL的bin目录。在Windows系统中,可以使用cd命令切换到相应目录。 2. 使用以下命令登录MySQL数据库:mysql -u 用户名 -p 密码。请将"用户名"和"密码"替换为您的MySQL登录凭据。 3. 登录成功后,可以使用show databases;命令查看当前MySQL服务器上的可用数据库。选择要导入SQL文件的目标数据库,可以使用use 数据库名;命令切换到该数据库。 4. 使用source命令指定要导入SQL文件的路径。例如,source C:\\aaa.sql;。请确保指定的路径正确,并且SQL文件存在于该位置。 5. 回车后,MySQL将开始导入SQL文件中的数据。这可能需要一些时间,具体取决于SQL文件的大小和服务器的性能。 请注意,导入过程中可能会遇到一些问题,例如数据库连接错误、编码问题等。如果遇到任何错误,请根据错误提示进行适当的调整和处理。 以上是将大型SQL文件导入MySQL数据库的步骤。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【mysql】如何在MySQL导入超大的SQL文件?](https://blog.csdn.net/u013364850/article/details/124456157)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [mysql 导入sql文件](https://blog.csdn.net/weixin_43641951/article/details/129367671)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值