Docker Composeを使用してMySQL 8のmysql_native_passwordを設定する方法


  1. Docker Composeファイルの作成 まず、適切なディレクトリにDocker Composeファイルを作成します。例えば、docker-compose.ymlという名前のファイルを作成しましょう。

  2. Docker Composeファイルの設定 以下のようなコードをDocker Composeファイルに追加します。

version: '3'
services:
  mysql:
    image: mysql:8.0
    command: --default-authentication-plugin=mysql_native_password
    environment:
      MYSQL_ROOT_PASSWORD: your_root_password
    ports:
      - 3306:3306

上記のコードでは、MySQL 8.0の公式Dockerイメージを使用しています。commandセクションでは、mysql_native_passwordをデフォルトの認証プラグインとして設定しています。environmentセクションでは、MYSQL_ROOT_PASSWORDを適切なルートパスワードに設定します。

  1. MySQLコンテナの起動 ターミナルで、Docker Composeファイルがあるディレクトリに移動し、以下のコマンドを実行します。
docker-compose up -d

これにより、MySQLコンテナがバックグラウンドで起動します。

  1. MySQLに接続 MySQLクライアントを使用してMySQLに接続します。以下のコマンドを実行します。
mysql -h localhost -P 3306 -u root -p

パスワードを求められるので、先ほど設定したルートパスワードを入力します。

これで、mysql_native_passwordが有効な状態でMySQLに接続できます。

以上が、Docker Composeを使用してMySQL 8のmysql_native_passwordを設定する方法です。この方法を使用することで、シンプルかつ簡単にMySQLコンテナを起動し、必要な認証プラグインを使用できます。