在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