DBAtlas · データベース運用アトラス

3948: Loading local data is disabled; this must be enabled on both the client and server sides(ローカルデータの読込みは無効。クライアントとサーバーの両側で有効化が必要)

MySQL

意味

LOAD DATA LOCAL INFILE でクライアント側のファイルからデータを読み込もうとしたが、クライアント側とサーバー側の一方または両方でこの機能が無効になっている。セキュリティ上の理由から、MySQL 8 では LOCAL はデフォルトで無効。

原因

サーバーで local_infile システム変数が OFF になっている、およびクライアントドライバで LOCAL INFILE が有効になっていない、のいずれかまたは両方。悪意あるサーバーがクライアントのファイルを読み取れる可能性があるため、この機能はデフォルトで制限されている。

対処方法

本当に必要な場合は両側で有効にする: サーバーで SET GLOBAL local_infile = 1; クライアントではドライバの LOCAL INFILE フラグを有効にする (例: 接続オプション allowLoadLocalInfile / --local-infile=1)。セキュリティの観点からは、ファイルをサーバー上に置いて LOCAL なしの LOAD DATA INFILE を使用するか、一括 INSERT/インポートツールを使用するのが望ましい。作業が終わったら local_infile を再度無効にする。

DBAtlas で開く →

同じデータベースの他の項目