问题解决:MySQL导入csv文件的方法 & 报错The MySQL server is running with the --secure-file-priv option

版本声明

  • macOS Mojave (Version 10.14.5)
  • iTerm2 (Build 3.3.7)
  • Google Chrome (Version 84.0.4147.105)
  • Visual Studio Code (Version: 1.46.1)
  • mysql (8.0.19)
  • mycli (1.20.1)

MySQL导入csv文件的方法

SQL 导入文件的代码模版

 LOAD DATA LOCAL INFILE '/Users/macos/load-test.csv' INTO TABLE student 
 FIELDS TERMINATED BY ','  # 分隔符
 ENCLOSED BY '"'  # 结尾符
 LINES TERMINATED BY '\n' # 换行
 IGNORE 1 ROWS # 忽略csv文件的第一行文件。
 (id,name,age); # 表示要导入csv中的哪几列,缺失为<null>

说明:
(1)csv 路径名要写完整,不能用~
(2)用 snippet 创建模版 loadcsvaj

参考:Mysql——将CSV文件导入表中
在这里插入图片描述

报错:‘The MySQL server is running with the --secure-file-priv option so it cannot execute this statement’

在这里插入图片描述
这个错误的解决方法是:在 LOAD DATA 后面加上 LOCAL

参考:How should I tackle --secure-file-priv in MySQL?
在这里插入图片描述

这个错误通常是由于 MySQL 服务器的安全设置导致的。在 MySQL 5.7.6 及更高版本,引入了一个名为 secure-file-priv 的系统变量,用于限制可以从哪个目录读取或写入文件。默认情况下,这个变量设置为系统的临时目录。 如果您遇到了 "The MySQL server is running with the --secure-file-priv option so it cannot execute this statement" 错误,那么可能是因为您正在使用 LOAD DATA INFILE 命令,但是您的文件路径不在 secure-file-priv 变量所允许的范围内。为了解决这个问题,您可以尝试以下方法: 1. 将您的 CSV 文件移动到 secure-file-priv 变量所允许的目录。您可以在 MySQL 运行以下命令,来查找 secure-file-priv 变量所指向的目录: ``` SHOW VARIABLES LIKE 'secure_file_priv'; ``` 2. 您可以在 MySQL 运行以下命令,来修改 secure-file-priv 变量的值为您想要导入文件的目录: ``` SET GLOBAL secure_file_priv='/path/to/your/directory'; ``` 3. 如果您没有权限修改 secure-file-priv 变量的值,您可以尝试使用 LOCAL 关键字,指示 MySQL 在客户端计算机上查找文件。例如: ``` LOAD DATA LOCAL INFILE '/path/to/your/file.csv' INTO TABLE your_table FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n'; ``` 在上面的示例,使用 LOCAL 关键字告诉 MySQL 在客户端计算机上查找文件,而不是在服务器上查找文件。请注意,使用 LOCAL 关键字会将安全风险降到最低。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

捡起一束光

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值