MySQL使用LOAD DATA LOCAL INFILE报错

在windows系统的MySQL8.0中尝试执行以下语句时报错

mysql> LOAD DATA LOCAL INFILE '/path/filename' INTO TABLE tablename;

 

ERROR 1148 (42000): The used command is not allowed with this MySQL version

所用的指令在当前MySQL版本不被允许,

但其实MySQL5.1及以上都支持此命令,报这个错是因为MySQL中系统变量local-infile=0时不允许本地加载数据,在安装目录找到配置文件my.ini,修改其中的local-infile=1,或在启动MySQL时添加--local-infile选项

mysql -uroot --local-infile=1 -p

password:******

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

MySQL服务正在以--secure-file-priv选项运行,因此无法执行这个语句,

出错的原因是因为在MySQL 5.7.6版本之后,导入文件只能在secure_file_priv指定的文件夹下(也有原因是因为权限不够),我们可以用show variables like '%secure%';命令显示文件目录,把需要导入的文件放在secure-file-priv参数指定的文件夹下,之后再从这里导入就可以了

ERROR 2 (HY000): File not found (OS errno 2 - No such file or directory)

文件未找到,

在windows系统下提供文件路径时需要将所有"\变为“\\”,如C:\\Program Files\\MySQL\\MySQL Server 8.0\\file

猜你喜欢

转载自www.cnblogs.com/makodaisuki/p/10648129.html