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

今天下午嘗試著用load data local infile方法將本地文件導(dǎo)入到MySQL里面,然后程序報了一下錯誤
ERROR 1148 (42000): The used command is not allowed with this MySQL version
網(wǎng)上查了下,是因為local_infile這個功能默認是禁止(local_infile=0,啟動的話要改為1)的,需要把這個功能打開,網(wǎng)上有很多方法,這邊說一下我能成功導(dǎo)入的方法:
第一步在my.ini文件中添加語句loose-local-infile=1;
第二步運行的時候設(shè)置全局變量 set global local_infile=1。
第一步的具體做法:
首先找到my.ini這個文件,可以在服務(wù)那邊找,右擊MySQL,點擊屬性

image.png

我的my.ini文件在F盤,一般在C盤的program data文件里面(這個文件夾是隱藏的,需要手動顯示)
然后添加loose-local-infile=1,這個ini文件可以用記事本打開
image.png

保存就可以了,為了保險起見,我重新進了下命令行。
第二步設(shè)置全局變量:
在命令行輸入
set global local_infile=1,運行;
然后查詢local_infile參數(shù),已經(jīng)on了;
image.png

最后倒入csv數(shù)據(jù)文件,導(dǎo)入成功。
image.png

其中,fields terminated by ','表示用逗號分隔,因為csv文件是用逗號分隔的。
:經(jīng)過測試,只做兩步中的其中一步,都會報1148的錯誤。
呼!寫起來沒多少,這個問題搞了一下午,之前一直以為loose-local-infile=1這個語句是要在命令行運行的,大部分時間都在想在哪運行。。。很無語的碎碎念一番。
第二天重新load data local infile的時候,又出現(xiàn)了1148 的錯誤,需要重新設(shè)置全局變量,好吧,看來每次關(guān)了之后再打開都得重新設(shè)置變量,反正local_infile參數(shù)是on的話應(yīng)該就可以了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容