こんにちは寝る

古い記事の情報は参考程度にお願いします

WindowsでDataGripのmysqldumpを利用する

結論

WindowsMySQLが入っていないのでダウンロードする必要がある。

MySQL8以降だと--skip-column-statisticsを設定する必要がある。

インポートするときに--default-character-set=utf8をしないといけないかも(環境による?)

動作環境

  • Windows10
  • DataGrip 2020.2
  • MySQL 8

DataGripでdumpを使う

DataGripではデータベースやテーブルを右クリックするとmysqldumpを使ってエクスポートする項目があるがこれを使うためにはWindowsならmysqldump.exeが必要になる。

なので、MySQL公式からMySQLダウンロードして解凍する
解凍後は適当なフォルダに移動させておく。

mysqldump.exeを探す

DataGripでmysqldumpを使ってエクスポートするを押すとウィンドウが開き
mysqldump.exeまでのパスの入力を求められるので、解凍したフォルダのbinフォルダの中にあるmysqldump.exeを指定する。

その後、MySQL8の場合は--skip-column-statisticsを指定しないとエラーが出ることがあるので指定する
一度エクスポートしてみてエラーがでたら指定してみるほうが良いかも。

(このオプションはMySQL5.7以下で管理しているDBに対してMySQL8で操作しようとすると起こるエラーを防ぐ?)

インポートする

またもや右クリックからインポートもすることができるのでmysqlを使ってインポートを使う
こちらもmysqldumpと同じくmysql.exeまでのパスを求められるのでbinフォルダの中から探して指定する。

環境によってはUnknown command '\''.が出るので--default-character-set=utf8を指定しておくのが吉。

便利なオプション

INSERT文だけエクスポートする(+カラム名もいれる) --no-create-info --complete-insert