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を同時に稼働させることも可能になります。