LoginSignup
0
0

TiDBを使ってみる その2

Last updated at Posted at 2023-12-10
  • その1では、TiDBの説明、TiDBへの接続をしました
  • その2では、その1でA5M2で接続できず不便と感じたので、phpMyAdminで接続してみようと

TiDBに対してphpMyAdminから接続してみる

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 滅びの呪文、コンテナを停止してイメージ削除

ブラウザで開く

  • http://localhost:8080

  • Basic認証を入力、compose.ymlに記載した情報のまま test_user / test_password

image.png

TiDBへのログイン情報を入力

項目 説明
サーバ gatewayxxxx aws.tidbcloud.com TiDBへの接続で、mysql cliの -h ホスト指定の項目値
ユーザ XxxXXxxXxx.root TiDBへの接続で -u のユーザー名の項目値
パスワード XXXXX TiDBへの接続で 小文字の-pの後に続ける文字列

phpmyadmin-2.png

接続後の画面例

image.png

FireShot Capture 067 - localhost_18080 _ gateway01.ap-northeast-1.prod.aws.tidbcloud.com _ g_ - localhost.png

データベース接続情報と基本認証情報を環境変数にもつ場合

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