今回はDocker環境下でMySQLコンテナに接続し、テーブル情報を確認する方法について解説したいと思います。Docker環境下でもテーブルデータを確認したい機会は必ず出てくるため、ぜひこの手順を覚えておきましょう。
SequelProで確認する方法もありますが、今回はターミナル上で確認する方法のみ解説します。
【簡略版】テーブル情報を確認する方法
以下の手順でMySQLコンテナに接続し、テーブル情報を確認することができます。
- docker ps
- docker exec -it MySQLのコンテナ名 bash
- mysql -u root -p
- mysql> show databases;
- mysql> use myapp_development;
- mysql> show tables;
- mysql> select * from テーブル名;
より具体的に
先ほどの手順を具体的に見ていきましょう。
まずはdocker psコマンドでMySQLのコンテナを確認します。
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8c0d9a39d523 test_app "rails test test/int…" About a minute ago Up About a minute 3000/tcp, 3035/tcp test_app_run_cee0483ae56b
4254fa5eab39 mysql:5 "docker-entrypoint.s…" 5 days ago Up 6 hours 0.0.0.0:3306->3306/tcp, 33060/tcp test_db_1
続いて以下のコマンドでMySQLコンテナに接続しましょう。
% docker exec -it MySQLのコンテナ名 bash
次にMySQLにアクセスします。
passwordを求められますが、設定していない場合はそのままEnterキーを押してしまって問題ありません。
root@000000000:/# mysql -u root -p
Enter password:
MySQLにアクセスできたら、存在するデータベースを確認します。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| myapp_development |
| myapp_test |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.10 sec)
その中から使用したい(中身をみたい)データベースを選択します。
mysql> use myapp_development;
さらにテーブルを確認します。
mysql> show tables;
+-----------------------------+
| Tables_in_myapp_development |
+-----------------------------+
| active_storage_attachments |
| active_storage_blobs |
| ar_internal_metadata |
| test |
| schema_migrations |
| users |
+-----------------------------+
6 rows in set (0.00 sec)
最後に、テーブルを選択することでそこに保存されているデータを見ることができます。
mysql> select * from users;
+----+-------+----------------+--------------------------------------------------------------+----------------------------+----------------------------+--------------+---------------+
| id | name | email | password_digest | created_at | updated_at | reset_digest | reset_sent_at |
+----+-------+----------------+--------------------------------------------------------------+----------------------------+----------------------------+--------------+---------------+
| 1 | テスト | 123@gmail.com | $2a$12$9o6zvuNS8bKYGRI/xIBEpelGZOp0wwFADu.TLm2y0lTK9qt8W/bwy | 2021-01-06 07:08:49.771299 | 2021-01-06 07:08:49.771299 | NULL | NULL |
| 2 | あああ | abc@gmail.com | $2a$12$RsFA2XWjEzWuo8uC4hmE0.rCOm3cAL6RGqbRtm/ysFAiRzpho1P4G | 2021-01-07 07:19:47.506578 | 2021-01-07 07:19:47.506578 | NULL | NULL |
+----+-------+----------------+--------------------------------------------------------------+----------------------------+----------------------------+--------------+---------------+
2 rows in set (0.00 sec)
まとめ
再度になりますが、以下の手順を行うことでDocker環境下でMySQLコンテナに接続し、テーブルデータを確認することができます。
- docker ps
- docker exec -it MySQLのコンテナ名 bash
- mysql -u root -p
- mysql> show databases;
- mysql> use myapp_development;
- mysql> show tables;
- mysql> select * from テーブル名;
参考
今回はDocker環境下でMySQLコンテナに接続し、テーブル情報を確認する方法について解説しました。そこまで難しい作業ではないため、ぜひ使えるようにしておきましょう。