CloudSQLへMySQLのデータをインポート(DBeaver)
はじめに
MySQLのDumpデータをGCSに置いてCloud SQLにインポートします。
DBeaverがあればGUIベースで完結できます。
事前準備
Dump取得
DBeaverからdumpを取得します。
GUIベースで説明してますが、コマンドでもイケると思う。
# 全テーブル mysqldump --single-transaction --routines --add-drop-table --extended-insert -u <ユーザ名> --host=<ホスト> --port=3306 <DB名> # テーブル指定 スペース区切りでテーブルを指定する mysqldump --single-transaction --add-drop-table --extended-insert -u <ユーザ名> --host=<ホスト> --port=3306 <DB名> <テーブル名> [<テーブル名> ...]
Dump databaseを選択
データベースを開いて、テーブルの一覧からどれでも良いのでテーブルを選択して右クリック
ツール ー> Dump databaseをクリック
テーブルを選択
必要に応じてテーブルにチェックして次へ
全部インポートしたい場合はAllで選択
出力の指定
Execution Method:Online backup in single transaction を選択
※デフォルトのNomal(no lock)だと権限の問題かエラーとなる。
Settings:Disable keysのチェックを外す
※チェックがついているとPrimary Keyなどの情報がdumpから落ちてしまう。
開始
しばし待つ
バケットにアップロード
Cloud SQLへインポート
- インポートしたいインスタンスのページを表示
ページ上部のインポートをクリック
インポートしたdumpファイルを選択
インポートするデータベースを選択
インポートボタンクリック 開始