LoginSignup
0
3

More than 3 years have passed since last update.

DockerでMySQLコンテナを立ち上げて.sqlファイルからDBを作る

Last updated at Posted at 2020-03-28

環境

macOS : catalina 10.15.3
Docker Desktop : 2.2.0.4(43472)
Docker Compose : 1.25.4

ローカルファイル構成

以下、図参照
スクリーンショット 2020-03-28 16.49.37.png

自前のsqlファイルを使いたかったので、それをDBフォルダ配下に配置

以下に示すファイルの中身はDockerでMySQLを使ってみるを引用

docker-compose.yml

version: "3"
services:
  mysql:
    build: ./mysql/
    volumes:
      - ./mysql/db:/docker-entrypoint-initdb.d
    image: local_mysql
    environment:
      - MYSQL_ROOT_PASSWORD=

Dockerfile

FROM mysql

EXPOSE 3306

ADD ./my.cnf /etc/mysql/conf.d/my.cnf

CMD ["mysqld"]

my.conf

[mysqld]
character-set-server=utf8

[mysql]
default-character-set=utf8

[client]
default-character-set=utf8

コンテナ起動

$ Docker-Compose up -d --build

# コンテナへログイン
$ docker exec -it Docker-mysql_mysql_1 bash -p

# MySQLを起動
$ mysql -u root -p -h 127.0.0.1  # パスワードはdocker-compose.ymlで記述したやつ

DB作成したい場合

DB作成コマンド

$ create database hoge_db;

DBができているか確認

$ mysql -u root -p -h 127.0.0.1  

パスワードはdocker-compose.ymlで記述したやつ
DB内に入れたら

mysql> show databases;

作ったDBがあればOK

.sqlファイルからDBを作る場合

mysqlからはexitして以下のコマンドを叩く

mysql -u root -p < インポートしたいsqlファイル

既存のDBを指定することも可能
success的なメッセージが出れば完了

参考資料

DockerでMySQLを使ってみる

MySQLで.sqlファイルを実行する

0
3
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
3