データ分析
2023/11/15
與田 龍人

Dockerを活用して手軽にMySQL環境を構築する

今回は、MySQLサーバーをDockerで立ち上げ、テーブル作成を行うまでの手順を解説します。この方法は開発環境の構築を簡単にし、さまざまなプロジェクトでのデータベース管理を効率化します。

はじめに

今回は、MySQLサーバーをDockerで立ち上げ、テーブル作成を行うまでの手順を解説します。この方法は開発環境の構築を簡単にし、さまざまなプロジェクトでのデータベース管理を効率化します。

前提条件

・Docker Desktopがインストールされていること


インストールがまだの方はこちらから行えます。自身のPC環境に応じてDocker Desktopをインストールする必要があります。


・Dockerの基本操作についての理解


 


ステップ1: MySQLイメージの取得

まずは、MySQLのDockerイメージを取得します。



docker pull mysql:8.2.0


特定のバージョンが必要な場合は、mysql:<バージョン>の形で指定します。


今回はバージョン8.2.0を使用します。


またDocker hubでは多くのユーザーがDockerイメージを共有しているため、状況にあわせてダウンロードして自身の環境で使うこともできます。


数秒ほどでイメージの取得が完了します。


ステップ2: MySQLコンテナの作成と起動

次に、MySQLコンテナを作成し、起動します。



docker run --name コンテナ名 -e MYSQL_ROOT_PASSWORD=パスワード -d mysql



  • --name mysql-server: コンテナに名前を割り当てます。

  • -e MYSQL_ROOT_PASSWORD=my-secret-pw: rootユーザーのパスワードを設定します。

  • -d: デタッチモードで実行し、バックグラウンドでコンテナを起動します。


正しくコンテナが作成されていることが確認できます。



ステップ3: MySQLコンテナへの接続

コンテナが起動したら、MySQLに接続します。



docker exec -it mysql-server mysql -uroot -p


ここで、ステップ2で設定したパスワードを入力します。


以下のように表示されてれば、成功です。



ステップ4: テーブルの作成

MySQLプロンプトで、新しいデータベースとテーブルを作成します。



CREATE DATABASE mydb;
USE mydb;
CREATE TABLE mytable (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);



  • CREATE DATABASE mydb;: mydbという名前のデータベースを作成します。

  • USE mydb;: 作成したデータベースを選択します。

  • CREATE TABLE mytable (...): mytableというテーブルを作成し、いくつかの列を定義します。


テーブル構造を確認



  • DESCRIBE mytable: でテーブル構造を確認することができます。




ステップ5: コンテナの停止

作業が終了したら、コンテナを停止します。



docker stop mysql-server


またDocker DesktopからGUIでコンテナの起動・停止・削除を行うこともできます。


まとめ

Dockerを用いることで、MySQL環境のセットアップが簡単かつ迅速に行えます。これにより、開発環境やテスト環境でのデータベースの構築が容易になり、環境依存の問題を軽減できます。また、Dockerを利用することで、異なるバージョンのMySQLを同時に稼働させることも可能になります。

New call-to-action