我想将 60mb 的 csv 文件导入到我的 Mysql 工作台中。 问题是我使用了导入向导,它已经运行了2天,只完成了60%左右。 我正在本地计算机上使用工作台。 我怎样才能更快地完成这件事?
我建议通过
LOAD
命令从 CSV 加载大数据
LOAD DATA LOCAL INFILE '/<absolute_path_in_your_local_machine>/partial_data.csv'
INTO TABLE dummySchema.yourTableName
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;
IGNORE 1 LINES
用于忽略第一行,该行通常定义 CSV 文件中的列名称。LINES TERMINATED BY '\r\n'
子句特别适用于 Windows 文件,但对于 Linux 和 macOS 文件应仅包含 '\n'
。\\
; LOAD DATA LOCAL INFILE 'D:\\partial_data.csv'
现在,我们需要了解一些事情;
LOCAL
。否则将使用LOAD DATA INFILE
。LOCAL
选项被禁用,我们面临类似的问题错误 2068 (HY000):由于访问限制,加载数据本地 INFILE 文件请求被拒绝。
所以我们应该通过带有标志
--local-infile
的命令行登录MySQL
示例 mysql -h <host> -u <user_name> -p -P <port> --local-infile
show grants for current_user();