ERROR3948: Loading local data is disabled - this must be enabled on both the client and server sides

young_kp發表於2020-11-05

        在mysql 8.0.22 執行load data local 從本地文字匯入資料時,報錯:"ERROR 3948(42000): Loading local data is disabled - this must be enabled on both the client and server sides". 
    結合官方文件和Stack Overflow上的解釋,得到以下最佳的解決方案,如下:
    step1.首先,檢查一個全域性系統變數 'local_infile' 的狀態:

show global variables like 'local_infile';

    如果得到如下顯示 Value=OFF,則說明這是不可用的。如果得到的是 Value=ON,請直接跳往 step3

        
    step2.要把這個值變為 ON,這裡找到兩種方法:

        第一種方法:

            1).在mysql客戶端輸入:

set global local_infile=1;

            2).然後退出quit 退出mysql。再次進入時,便會出現 Value=ON

        第二種方法:

            1).在 C:\ProgramData\MySQL\MySQL Server 8.0(此處為Windows10系統) 路徑下,找到初始化檔案 my.ini,開啟

            2).找到以 [client], [mysql], [mysqld] 開頭的三處位置,在每處的下面加一行  local_infile=ON,儲存更改

            3).重啟mysql伺服器後,同樣會得到預期的結果

    

        但是,至此問題還沒有解決

    step3.在進入資料庫的命令列要加上 --local_infile=1 這個配置,具體如下:

mysql --local_infile=1 -u <username> -p

    這個時候,就可以開開心心的執行 load data local 語句新增資料了。 

相關文章