看黑马mysql视频有数据是一千万条数据,分批使用 load file 方式导入数据库表的时候出现了导入失败问题
表结构
CREATE TABLE `tb_sku` ( `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '商品id', `sn` varchar(100) NOT NULL COMMENT '商品条码', `name` varchar(200) NOT NULL COMMENT 'SKU名称', `price` int(20) NOT NULL COMMENT '价格(分)', `num` int(10) NOT NULL COMMENT '库存数量', `alert_num` int(11) DEFAULT NULL COMMENT '库存预警数量', `image` varchar(200) DEFAULT NULL COMMENT '商品图片', `images` varchar(2000) DEFAULT NULL COMMENT '商品图片列表', `weight` int(11) DEFAULT NULL COMMENT '重量(克)', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `category_name` varchar(200) DEFAULT NULL COMMENT '类目名称', `brand_name` varchar(100) DEFAULT NULL COMMENT '品牌名称', `spec` varchar(200) DEFAULT NULL COMMENT '规格', `sale_num` int(11) DEFAULT '0' COMMENT '销量', `comment_num` int(11) DEFAULT '0' COMMENT '评论数', `status` char(1) DEFAULT '1' COMMENT '商品状态 1-正常,2-下架,3-删除', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='商品表';
插入文件内容:
一千万条分5批
执行指令:
load data local infile '/root/sql/tb_sku1.sql' into table `tb_sku` fields terminated by ',' lines terminated by '\n';
注意 :
由于1000w的数据量较大 , 如果直接加载1000w , 会非常耗费CPU及内存 ;
已经拆分为5个部分 , 每一个部分为200w数据 , load 5次即可 ;
创建好表。开始导入
报错了!!!
mysql8在load千万条数据时报ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides
首先执行如下命令查看local_infile值是否打开:SHOW GLOBAL VARIABLES LIKE 'local_infile';
在MySQL8.0版本这个值是默认OFF的(5.7版本是默认打开的),需要我们执行命令将其打开:
set global local_infile=1;
接下来我们再来load一次: 又报错了
解决新错误的方法:先quit出MySQL的控制台,再使用如下命令登入:mysql -u root -p --local-infile
导入成功:
参考:
https://blog.csdn.net/weixin_42331530/article/details/126900364?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-126900364-blog-124516049.pc_relevant_3mothn_strategy_recovery&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-126900364-blog-124516049.pc_relevant_3mothn_strategy_recovery&utm_relevant_index=2
标签:COMMENT,varchar,DEFAULT,linux,int,导入,mysql,NULL,local From: https://www.cnblogs.com/Isaiah2018/p/17114003.html