環境
macOS : catalina 10.15.3
Docker Desktop : 2.2.0.4(43472)
Docker Compose : 1.25.4
ローカルファイル構成
自前の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的なメッセージが出れば完了