株式会社ヴァンデミックシステム

Blog

<スポンサーリンク>

ファイル構造

yuta:〜/ mysql $ツリー
。
├──docker-compose.yml
└──ボリューム
    ├──データ
    └──init
        └──init.sql

3つのディレクトリ、2つのファイル

docker-compose.ymlを書く

  • /docker-entrypoint-initdb.d にシェルやsqlスクリプトなどを配置しておくことで、mysqlのコンテナイメージ起動時に実行することができる
docker-compose.yml
バージョン 3」

services 
  mysql 
    image  mysql:latest 
    environment 
      MYSQL_ROOT_PASSWORD  pass 
    volumes 
      -  . / volumes 
      /  init/ : / docker-entrypoint-initdb.d-./volumes/data/:/var/lib/mysql

初回に実行するsqlを用意

init.sql
DROP DATABASE IF EXISTSサンプル;
CREATE DATABASEサンプル。
USEサンプル;
DROP TABLE IF EXISTS name;

CREATE TABLE名(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY、
名前TEXT NOT NULL
)DEFAULT CHARACTER SET = utf8;

INSERT INTO name(name)VALUES( "田所")、( "浩二")、( "令和");

起動

docker-compose up -d

確認

yuta:〜/ mysql $ 
yuta:〜/ mysql $ d ps 
コンテナーIDイメージコマンド作成されたステータスポート名
76412daa6954 mysql:latest "docker-entrypoint.s…" 30秒前30秒前0.0.0.0:3306
->3306/tcp、33060/tcp mysql_mysql_1
yuta:〜/ mysql $ vim docker-compose.yml 
yuta:〜/ mysql $ d ps 
コンテナーIDイメージコマンド作成されたステータスポート名
76412daa6954 mysql:latest "docker-entrypoint.s…" 39秒前39秒前0.0.0.0:3306
->3306/tcp、33060/tcp mysql_mysql_1
yuta:〜/ mysql $ d exec -it 76412daa6954 / bin / bash
root @ 76412daa6954:/# 
root @ 76412daa6954:/#mysql       
エラー1045(28000):ユーザー 'root' @ 'localhost'のアクセスが拒否されました
(パスワードを使用:NO)
root @ 76412daa6954:/#mysql -uroot -ppass
mysql:[警告]コマンドラインインターフェイスでパスワードを使用すると、安全でない場合があります。
MySQLモニターへようこそ。コマンドは;で終わります。または\ g。
MySQL接続IDは9です
サーバーのバージョン:8.0.21 MySQL Community Server-GPL

Copyright(c)2000、2020、Oracleおよび/またはその関連会社。全著作権所有。

Oracleは、Oracle Corporationの登録商標です。
アフィリエイト。その他の名称は、それぞれの商標です。
所有者。

「ヘルプ」と入力します。または '\ h'を使用してください。現在の入力ステートメントをクリアするには、
「\ c」と入力します。

mysql>データベースを表示します。
+ -------------------- +
| データベース|
+ -------------------- +
| information_schema |
| mysql |
| performance_schema |
| サンプル|
| sys |
+ -------------------- +
5行セット(0.00秒)

mysql> 
mysql>サンプルを使用
テーブル名と列名を補完するためのテーブル情報の読み取り
この機能をオフにして、-Aを使用してより迅速に起動できます。

データベースが変更されました
mysql> 
mysql>テーブルを表示します。
+ ------------------ +
| Tables_in_sample |
+ ------------------ +
| 名前|
+ ------------------ +
セット内の1行(0.00秒)

mysql> 

参考

https://qiita.com/juhn/items/274e44ee80354a39d872
https://noumenon-th.net/programming/2019/04/01/docker-entrypoint-initdb01/

<スポンサーリンク>

コメントを残す

Allowed tags:  you may use these HTML tags and attributes: <a href="">, <strong>, <em>, <h1>, <h2>, <h3>
Please note:  all comments go through moderation.

*

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)