LoginSignup
0
1

More than 3 years have passed since last update.

MySQL 8.0 で csv データのインポートで詰まった

Last updated at Posted at 2020-10-21

MySQL 8.0 からはローカルファイルのデータ読み取りはデフォルトだと禁止されてるようです。
テスト用の DB 立てようとしたら詰まったのでやり方を記しておきます。

環境

  • mysql
    • Ver 8.0.22 for Win64 on x86_64 (MySQL Community Server - GPL)
  • pc
    • Windows 10 Pro

MySQL 起動

ローカルファイルの読み取りできる状態で起動します。

mysql --local-infile -uroot -p

csv 追加まで

以下を MySQL 上で順番に実行して csv のデータを追加します。

-- サーバー側でインポートを有効にするオプションの設定
SET GLOBAL local_infile=on;

-- データベース作成
CREATE DATABASE {データベース名} DEFAULT CHARACTER SET utf8mb4;

-- データベース選択
USE {データベース名};

-- テーブル作成
-- このデータをインポートする前提のスキーマ指定
-- https://www.kaggle.com/c/demand-forecasting-kernels-only/data?select=test.csv

CREATE TABLE {テーブル名}(
    date DATE NOT NULL,
    store int(11) NOT NULL,
    item int(11) NOT NULL,
    sales int(11) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


-- CSV インポート
LOAD DATA LOCAL INFILE "{csvデータのパス}"
INTO TABLE {テーブル名}
FIELDS TERMINATED BY ',' ;

備考:環境変数確認

MySQL のパスが通ってなかったらGUIで環境変数を確認/追加できます。

Windows システムツール → コントロールパネルと進む
2020-10-21_14h35_24.png

システムとセキュリティをクリック
2020-10-21_14h36_13.png

システムをクリック
2020-10-21_14h36_28.png

システムの詳細設定をクリック
2020-10-21_14h37_03.png

環境設定をクリック
2020-10-21_14h37_24.png

システム環境変数から Path を選択、編集をクリック
2020-10-21_14h37_56.png

MySQL 8.0 がなかったら bin フォルダのパスを追加してあげます。
2020-10-21_14h39_22.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1