🎃
DockerでDBダンプファイルを挿入する方法(DBコンテナに反映)
方法は2つある!
DBコンテナへDBのダンプファイルを反映させる方法①
1. DBコンテナに入る
$ docker exec -it コンテナ名 /bin/bash
2. ダンプファイルをMySQLに流し込む
このコマンドでdockerにSQLを読み込む。(mysql~~からがコマンド)
root@××××:/var/www/html# mysql -u root(←dbコンテナユーザー名) -p database(使用するdatabase名) < /docker-entrypoint-initdb.d/SQLのファイル名
3. mysqlに繋いで確かめる
・mysql -u root -p (rootの部分は設定したuser名があればそれを記述する)
・mysql> SHOW DATABASES;
・mysql> use database; (使用するdatabaseを選択)
・mysql> show tables; (選択したdatabaseのテーブル)
沢山テーブルが表示されれば⭕️
これでダンプが反映されていないときは②の方法
DBコンテナへDBのダンプファイルを反映させる方法②
上記なんかうまくいかないときは直接DBコンテナを操作して反映させる。
(SQLダンプファイルは、mysqlディレクトリ以下に配置している。)
SQLダンプファイルをdbコンテナ内にコピーする
*dbコンテナIDはdocker ps
コマンドで調べる。
$ docker cp ./mysql/ dbコンテナID:/tmp/
dbコンテナに入る
$ docker exec -it コンテナ名 /bin/bash
sqlに入る
mysql -u root -p
SQLファイルを反映させたいdatabase名を選択する
use database名;
dbコンテナの指定databaseにSQLダンプファイルを反映させる
source SQLファイルパス
確認
show tables;
Discussion