スポンサーリンク

DockerのMySQLでLOAD DATAのError Code: 3948を解決する

エラー内容

LOAD DATA LOCAL INFILE文で、設定が無効になっているから、エラーになるとのメッセージが出た。
クライアント側は対応したが、DockerのMySQL側をどういう風に設定するか詰まって、解決に時間がかかったので備忘録として残します。

Error Code: 3948. Loading local data is disabled;
 this must be enabled on both the client and server sides

docker-compose.ymlを修正

もともと、docker-composeで使えるymlファイルで、コンテナを作っていたのだが、
そこに設定を加える形で解決しました。

以下の「command: –secure-file-priv=”” –local-infile=1」という部分が今回のエラーの解決となった部分です。

version: "3.9"
services:
  db:
    image: mysql:8.0.33
    container_name: mysql_db
    command: --secure-file-priv="" --local-infile=1
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: testdb
      MYSQL_USER: test
      MYSQL_PASSWORD: test
      TZ: 'Asia/Tokyo'
    ports:
    - 3306:3306