刚好根据sql语句导出文件,开始编写脚本:
SELECT * FROM (
SELECT l.lc_partid,s.partname,l.lwtmc,l.hh,l.tg,l.lwtjd,l.lwtwd,l.gdh,l.csfs
,CASE l.sfzj WHEN 1 THEN '中继' ELSE '非中继' END AS sfzj,l.gdfs
,t.xm,t.lxdh,t.xyqk,t.xypp,t.tyzp
FROM jc_lwt l LEFT JOIN jc_tyxx t ON l.id=t.lwtid AND t.sczt=0
INNER JOIN sys_part s ON l.lc_partid=s.partid
WHERE l.sczt=0 AND l.cjsj>='2023-01-01 00:00:00'
AND l.lc_partid LIKE '00%'
ORDER BY l.lwtmc)
s INTO OUTFILE 'D:\\file.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' ;
兴高采烈地按下执行键,结果:
1290 - The MySQL server is running with the --secure-file-priv option so it cannot execute this statement
大概意思:MySQL 服务器正在使用–secure-file-priv 选项运行,因此无法执行此语句
通过命令查看secure-file-priv 的当前值:
SHOW VARIABLES LIKE "secure_file_priv";

找到MySQL安装目录,本人使用的是zip解压版,直接找到解压目录的ini文件,在[mysqld]节添加配置:

重启mysql服务后,依然还是报错,找到资料如下:
- 编辑(CentOS 的 /etc/my.cnf 文件)或(Windows 的 my.ini 文件)
secure-file-priv = ""在末尾添加 一行- 停止mysql服务使用
systemctl stop mysqld - 使用重新启动它
systemctl start mysqld
将 secure-file-priv设置为空:

再次执行,如下:

解决MySQLsecure-file-priv错误导出文件问题,

在尝试使用SQL语句导出文件时遇到1290错误,提示MySQL服务器因--secure-file-priv选项无法执行。检查secure-file-priv的当前值,并尝试在MySQL配置文件中将其设为空,但重启服务后问题依旧。进一步的解决方案是修改my.ini文件,添加secure-file-priv=,然后停止并重新启动MySQL服务,以允许文件操作。
1430

被折叠的 条评论
为什么被折叠?



