MySQL load data local infile 关于ERROR 1148 (42000): The used command is not allowed with this MySQ...

今天下午尝试着用load data local infile方法将本地文件导入到MySQL里面,然后程序报了一下错误
ERROR 1148 (42000): The used command is not allowed with this MySQL version
网上查了下,是因为local_infile这个功能默认是禁止(local_infile=0,启动的话要改为1)的,需要把这个功能打开,网上有很多方法,这边说一下我能成功导入的方法:
第一步在my.ini文件中添加语句loose-local-infile=1
第二步运行的时候设置全局变量 set global local_infile=1
第一步的具体做法:
首先找到my.ini这个文件,可以在服务那边找,右击MySQL,点击属性

image.png

我的my.ini文件在F盘,一般在C盘的program data文件里面(这个文件夹是隐藏的,需要手动显示)
然后添加loose-local-infile=1,这个ini文件可以用记事本打开
image.png

保存就可以了,为了保险起见,我重新进了下命令行。
第二步设置全局变量:
在命令行输入
set global local_infile=1,运行;
然后查询local_infile参数,已经on了;
image.png

最后倒入csv数据文件,导入成功。
image.png

其中,fields terminated by ','表示用逗号分隔,因为csv文件是用逗号分隔的。
:经过测试,只做两步中的其中一步,都会报1148的错误。
呼!写起来没多少,这个问题搞了一下午,之前一直以为loose-local-infile=1这个语句是要在命令行运行的,大部分时间都在想在哪运行。。。很无语的碎碎念一番。
第二天重新load data local infile的时候,又出现了1148 的错误,需要重新设置全局变量,好吧,看来每次关了之后再打开都得重新设置变量,反正local_infile参数是on的话应该就可以了。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容