我尝试在 Win 2012 R2 服务器上保存一个非常大的选择(超过 7000 万行到 csv 文件中)
我以 root 身份执行查询,但我认为权限仍然存在一些问题
select *
INTO OUTFILE 'D:\my_folder\my_file.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
from my_table
where
...
Run Code Online (Sandbox Code Playgroud)
错误
错误代码:1290。MySQL 服务器正在使用 --secure-file-priv 选项运行,因此无法执行此语句
预先感谢您的任何帮助 !
小智 5
我在 Windows 10 上使用 MySQL Server 8.0。我尝试使用以下命令从 csv 文件加载数据:
LOAD DATA INFILE 'C:\ProgramData\MySQL\MySQL Server 8.0\Uploads\World_cup_dataset.csv'
INTO TABLE trial
FIELDS TERMINATED BY ',';
Run Code Online (Sandbox Code Playgroud)
当我运行上面的命令时,我得到了
“错误 1290 (HY000):MySQL 服务器正在使用 --secure-file-priv 选项运行,因此无法执行此语句”
我尝试了很多方法来解决这个问题。最后,我将\
文件路径中的“ ”字符更改为“ /
”字符。
我的意思是我的新文件路径变成了C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/World_cup_dataset.csv
并且我的问题得到了解决。如果您查看位于 MySQL Server 文件夹中的 my.ini 文件,其路径secure-file-priv
为“ C:/ProgramData/MySQL/MySQL Server 8.0/Uploads
”。所以,这个解决方案是有道理的。
在Win2012上我找到了文件my.ini。
在该文件中,有一个 secure_file_priv 的定义 - 一个我可以下载或上传的文件夹,
所以我将查询更改如下:
SELECT *
INTO OUTFILE 'D:\<folder_defined_as_secure_file_priv>\my_file.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM my_table
WHERE
...
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38598 次 |
最近记录: |