mysql 快速导入超大SQL文件(10G以上)

mysql 快速导入超大SQL文件(10G以上)

最近项目需要导入人家的数据,文件在10G以上,下面是实际总结记录,避免再次踩坑。

一般优化方法:

登录mysql
mysql -u root -p密码

创建数据库
CREATE DATABASE 数据库名;
设置参数
set sql_log_bin=OFF;//关闭日志
set autocommit=0;//关闭autocommit自动提交模式
set names utf8;

use 数据库名;

开启事务
START TRANSACTION;
引入SQL文件
source 文件的路径;
成功后事务提交 
COMMIT; 

这种方法可以提高导入速度,但是没解决根本,如果表的外键和索引比较多的话,照样很慢。


最好的方法是:先分别导出建表语句和数据语句,然后手工建表,删除外键和索引,然后再导入数据这样就会非常快

导出结构不导出数据
mysqldump --opt -d -u root -p密码 数据库名> xxx.sql 
或者mysqldump --no-data   -u username -p* database_name > xxx.sql  

导出低于8.0版本的MySQL数据库时,会出现Unknown table ‘column_statistics’ in information_schema的错误.   加选项--column-statistics=0就可以了
mysqldump --opt -d --column-statistics=0 -u root -p密码 数据库名> xxx.sql

导出数据不导出结构
mysqldump --opt -t  -uroot -p密码  数据库名 > xxx.sql 

备注:导出、导入数据用MYSQLDUMP,不要用NAVICAT。

 


备注:实战示例,解疑答惑。

           --不间端地思考,实时地批判你的工作!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值