网站访问慢的原因企业seo推广
先创建一个你想要的数据库
create database uba;
分析导入文件的格式内容
提前在数据库里创建你需要的表格
不然就会收到”mysqlimport: Error: 1146“大礼包
(你的csv文件名和表格名字一摸一样,大小写也是)
use uba;
create table userBehavior (userID BIGINT,itemID BIGINT,categoryID varchar(255),timestamp TIMESTAMP);
重开一个终端,用下面的命令
就是这种普通的终端不是mysql里了
mysqlimport --ignore-lines=1 \--fields-terminated-by=, \--local -u root \-p DataBase \TableName.csv
根据你自身情况去修改上面的命令,像我只需要改数据库名字和csv文件的名字就好
- mysqlimport: MySQL 的一个命令行工具,用来导入数据到 MySQL 表。
- --ignore-lines=1: 忽略 CSV 文件的第一行,通常用来跳过文件中的标题行。
- --fields-terminated-by=,: 指定字段分隔符,这里是逗号(,),表示 CSV 文件中的每一列数据是由逗号分隔的。
- --local: 表示数据文件在本地机器上,而不是数据库服务器上。没有这个参数的话,默认会从服务器上读取文件。
- -u root: 使用 root 用户连接 MySQL 数据库。
- -p: 提示输入密码,连接到 MySQL 时需要输入密码。
- Database: 目标数据库的名称,表示数据将被导入到这个数据库中。
- TableName.csv: 要导入的 CSV 文件的名称,这里是 TableName.csv。
如果你数据和我一样有一亿条(?),建议先放100条试试,万一出问题还可以改
2025.3.2补充:
注意时间戳这边
如果你和我一样属于csv数据是这种整形类型的要先改成整形,导入数据库之后,再在MYSQL上改回来
至此,你应该已经和现在的我一样等待这个数据的传递成功了,只不过数据太大需要等十几分钟
如果出现了下面的报错
mysqlimport: Error: 3948, Loading local data is disabled; this must be enabled on both the client and server sides, when using table: UserBehavior
别担心,因为我也遇到了哈哈 :)
mysql默认禁用 LOCAL 功能,用 LOAD DATA LOCAL 语句就会被禁止(我记得当时学sql注入的时候就有这个事例,别担心,咱用完再改回来就好)
设置全局变量:
SET GLOBAL local_infile=1;quit
搞定