P粉3168908842023-08-30 00:09:36
如果在伺服器端或用戶端停用 LOCAL 功能,則嘗試發出 LOAD DATA LOCAL 語句的用戶端會收到下列錯誤訊息:
ERROR 3950 (42000): Loading local data is disabled; this must be enabled on both the client and server side
當我想按照Mysql的教學將文字檔pet.txt載入到pet表中時,遇到了同樣的問題:https://dev.mysql.com/doc/refman/8.0/en/ loading-tables.html
在網路上搜尋後,我透過以下步驟修復了它:
mysql> SET GLOBAL local_infile=1; Query OK, 0 rows affected (0.00 sec)
mysql> quit Bye
mysql --local-infile=1 -u root -p1
此變數控制 LOAD DATA 語句的伺服器端 LOCAL 功能。根據 local_infile 設定,伺服器拒絕或允許在客戶端啟用 LOCAL 的客戶端載入本機資料。 若要明確地使伺服器拒絕或允許 LOAD DATA LOCAL 語句(無論用戶端程式和程式庫在建置時或執行時如何配置),請分別在停用或啟用 local_infile 的情況下啟動 mysqld。 local_infile 也可以在執行時設定。
mysql> use menagerie Database changed mysql> load data local infile '/path/pet.txt' into table pet; Query OK, 8 rows affected, 7 warnings (0.00 sec)
有效果嗎?
參考文獻:
https://dev.mysql。 com/doc/refman/8.0/en/load-data-local-security.html https://dev.mysql.com/doc /refman/8.0/en/source-configuration-options.html#option_cmake_enabled_local_infile https://dev.mysql.com/doc /refman/8.0/en/server-system-variables.html#sysvar_local_infile
#