docker-compose を使用して MySQL を実行する方法

docker-compose を使用して MySQL を実行する方法

ディレクトリ構造

。
│ .env
│ docker-compose.yml
│
└─mysql
 ├─設定
 │ my.cnf
 │
 └─データ

mysql ディレクトリの下のデータ ディレクトリはデータ ディレクトリであり、ここに mysql データ テーブルとバイナリ ログ ファイルが配置されます。 .env ファイルには${variable_name}を使用してdocker-compose.ymlファイルで参照できるいくつかの変数が含まれています。

もちろん、mysql ディレクトリを別の場所に置くこともできますが、ここでは便宜上、yml ファイルと同じディレクトリに直接置きます。

.env ファイル

MYSQL_ROOT_PASSWORD=ルート
MYSQL_ROOT_HOST=%
MYSQL_DIR=./mysql

MySQL 設定ファイル my.cnf

[mysqld]
文字セットサーバー=utf8mb4
デフォルトのタイムゾーン='+8:00'
innodb_rollback_on_timeout='オン'
最大接続数=500
innodb_lock_wait_timeout=500

デフォルト設定を使用する場合、このファイルは省略できます。

ドッカーの作成

バージョン: '3'

サービス:

 mysql-db:
 container_name: mysql-docker # コンテナイメージの名前を指定します: mysql:8.0 # イメージとバージョンポートを指定します:
 - 「3306:3306」
 環境:
 MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
 MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST}
 ボリューム:
 - "${MYSQL_DIR}/data:/var/lib/mysql" #データディレクトリをマウント - "${MYSQL_DIR}/config:/etc/mysql/conf.d" #設定ファイルディレクトリをマウント

環境変数

  • MYSQL_ROOT_PASSWORD: これは、その名の通り、ルート ユーザーのパスワードです。
  • MYSQL_USER、MYSQL_PASSWORD: これら 2 つの変数はオプションであり、MYSQL_DATABASE 変数で指定されたデータベースに対してスーパーユーザー権限を持つ新しいユーザーを作成します。
  • MYSQL_DATABASE : コンテナの起動時に作成されるデータベースを指定します。
  • MYSQL_ALLOW_EMPTY_PASSWORD : ルート ユーザーが空のパスワードを持つことを許可するには、 yes に設定します。 (非推奨)
  • MYSQL_RANDOM_ROOT_PASSWORD: yes に設定すると、コンテナの起動時に root ユーザーのランダム パスワードが生成され、そのパスワードが標準出力ストリームに表示されます (GENERATED ROOT PASSWORD:......)。
  • MYSQL_ONETIME_PASSWORD: 文字通り、ルート ユーザー用に設定されたワンタイム パスワードを意味し、最初のログイン後にパスワードを変更する必要があります (バージョン 5.6 以降でのみサポートされます)。

コンテナの実行

docker-compose.yml ディレクトリで実行します。

> docker-compose up

バックグラウンドで実行するには、 docker-compose up -d使用します。

コンテナを停止します。

> docker-compose down

フォアグラウンドで実行されている場合は、Ctrl + C を押して停止します。どちらの方法でも、停止後にコンテナは削除され、次回起動するには up コマンドを使用する必要があります。

コンテナを停止しますが、削除しません:

> docker-compose stop

stop コマンドで停止した後、start コマンドで再起動します。

要約する

以上が編集者が紹介したdocker-composeを使ったMySQLの実行方法です。皆様のお役に立てれば幸いです。ご質問があればメッセージを残していただければ、編集者がすぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Docker Compose は MySQL に接続するために SpringBoot プロジェクトをデプロイしますが、そこで遭遇する落とし穴があります。
  • MySQL8 ベースの docker-compose デプロイメント プロジェクトの実装
  • dockercompose を使用して springboot-mysql-nginx アプリケーションをビルドする
  • docker-compose でデプロイしたときに MySQL にアクセスできなくなる問題の簡単な分析
  • docker compose を使用して elk システムを構築する方法
  • docker-compose を使用して mongodb と mysql を構築する詳細なプロセス

<<:  Dockerは1行のコマンドでFTPサービス構築の実装を完了します

>>:  MySQLでデータベースデータ保存ディレクトリを変更する方法

推薦する

HTML 画像 img タグ_Powernode Java アカデミー

まとめプロジェクトの説明形式<img src="..."> H2+ ...

CSS3 で less のテキストの長い影を実装する

この記事では主に、CSS3 LESS で長いテキストの影を実装する方法を紹介し、皆さんと共有します。...

MySQL マスタースレーブレプリケーション構成プロセス

メインライブラリの構成1. MySQLを設定する vim /etc/my.cn # ファイルに次の内...

WindowsでiTunesのバックアップパスを変更する方法

0. 準備: • iTunesを閉じる• タスクマネージャーでiTunesから始まるサービスを終了し...

MySQL のスロークエリの方法と例

1. はじめにスロークエリログを有効にすると、MySQL は指定された時間を超えるクエリステートメン...

JavaScript Three.js でテキストを作成する最初の経験

目次効果テキストの作成を開始するまずフォントローダーを作成するフォントライブラリを読み込むテキストジ...

Swiper+echartsは複数のダッシュボードの左右スクロール効果を実現します

この記事では、ダッシュボードの左右スクロール効果を実現するためのスワイパー+echartsの具体的な...

HTML ウェブページ画像タグ

画像タグ <IMG> を挿入します。今日私たちが目にするカラフルなウェブページはすべて、...

Vue + 要素の動的複数ヘッダーと動的スロット

目次1. 需要2. 効果3. すべてのコード1. 需要ユーザーが自分でテーブルを構成できるようになり...

MySQLデータベースをアンインストールするための完全な手順

MySQLデータベースを完全にアンインストールするプロセスは次のとおりです。 1. MySQLサービ...

CentOS 7 に mysql5.7 の解凍バージョンをインストールするチュートリアル

1. mysqlの圧縮パッケージを/usr/localフォルダに解凍し、名前をmysqlに変更します...

Linux デュアル ネットワーク カード バインディング スクリプト メソッドの例

Linux の操作と構成作業では、デュアル ネットワーク カードのバインディングがよく使用されます。...

MySQLのワークベンチ例の詳細な説明

MySQL Workbench - モデリングおよび設計ツール1. モデルは、最も効果的で高性能なデ...

UDP シンプル サーバー クライアント コード例

UDP の理論については詳しく説明しません。UDP に関する HelloWorld プログラムを紹介...

JS がビデオ弾幕効果を実現

これを実現するには、ES6 モジュール開発とオブザーバー モードを使用します。オブザーバー パターン...