- その1では、TiDBの説明、TiDBへの接続をしました
- その2では、その1でA5M2で接続できず不便と感じたので、phpMyAdminで接続してみようと
TiDBに対してphpMyAdminから接続してみる
- https://github.com/7474/phpmyadmin-with-basic-auth/blob/master/src/docker-compose.yml ←こちらに公開してくれているのでそれを使ってきます
- コンテナをそのまま利用して接続情報等を入れるだけです
- 基本認証あり
compose.ymlで公開されたコンテナイメージを指定
- PMA_HOST: db_server については、何でも良いです、
compose.yml
phpmyadmin_with_basic_auth:
# build:
# context: .
# dockerfile: Dockerfile
image: ghcr.io/7474/phpmyadmin-with-basic-auth:latest
environment:
PMA_SSL: 1
PMA_ARBITRARY: 1
PMA_HOST: db_server
BACIC_AUTH_USER: test_user
BACIC_AUTH_PASSWORD: test_password
ports:
- 8080:80
networks:
- default
docker composeコマンドで起動
cd compose.ymlファイルのある場所
docker compose up
Tips docker compose
Tips docker compose
docker compose up -d
はバックグラウンド実行したい場合に使います
docker compose --build
コンテナの再ビルドしたい場合に使います
docker compose down --rmi all
滅びの呪文、コンテナを停止してイメージ削除
ブラウザで開く
-
Basic認証を入力、compose.ymlに記載した情報のまま test_user / test_password
TiDBへのログイン情報を入力
項目 | 値 | 説明 |
---|---|---|
サーバ | gatewayxxxx aws.tidbcloud.com | TiDBへの接続で、mysql cliの -h ホスト指定の項目値 |
ユーザ | XxxXXxxXxx.root | TiDBへの接続で -u のユーザー名の項目値 |
パスワード | XXXXX | TiDBへの接続で 小文字の-p の後に続ける文字列 |
接続後の画面例
データベース接続情報と基本認証情報を環境変数にもつ場合
- PMA_HOST, PMA_USER, PMA_PASSWORD を環境変数に設定することで、接続情報の入力はスキップできます
- Git管理する場合は、gitignoreの対象にする
以下のようにcompose.ymlに直接記載は推奨しない
compose.yml
phpmyadmin_with_basic_auth:
image: ghcr.io/7474/phpmyadmin-with-basic-auth:latest
environment:
PMA_SSL: 1
PMA_ARBITRARY: 1
PMA_HOST: xxxx.prod.aws.tidbcloud.com
PMA_USER: XXXXXXXX.root
PMA_PASSWORD: XXXXXXX
BACIC_AUTH_USER: test_user
BACIC_AUTH_PASSWORD: test_password
ports:
- 8080:80
networks:
- default
環境変数を利用した設定サンプル
- 環境変数用のファイル
.env
を用意して、gitignoreの対象にする -
.env
に接続情報を記載する - .envファイルの例
.env
PMA_HOST=xxxx.prod.aws.tidbcloud.com
PMA_USER=XXXXX.root
PMA_PASSWORD=XXXXX
BACIC_AUTH_USER=test_user
BACIC_AUTH_PASSWORD=test_password
- compose.ymlでは、
.env
を利用する - env_fileで envファイルを指定しなくても
.env
は docker composeではデフォルトで読み込みします。 - 値は${...}で指定する
- compose.ymlの例
compose.yml
phpmyadmin_with_basic_auth:
image: ghcr.io/7474/phpmyadmin-with-basic-auth:latest
## env_file:
## - ./.env
environment:
PMA_SSL: 1
PMA_ARBITRARY: 1
PMA_HOST: ${PMA_HOST}
PMA_USER: ${PMA_USER}
PMA_PASSWORD: ${PMA_PASSWORD}
BACIC_AUTH_USER: ${BACIC_AUTH_USER}
BACIC_AUTH_PASSWORD: ${BACIC_AUTH_PASSWORD}
ports:
- 8080:80
networks:
- default