Docker での MySQL 8.0.20 のインストールと設定のチュートリアル

Docker での MySQL 8.0.20 のインストールと設定のチュートリアル

Dockerは参考までにMySQLバージョン8.0.20をインストールします。具体的な内容は以下のとおりです。

最初のステップは画像を引き下げることです

docker プル mysql:8.0.20

ステップ2:ミラーを起動する

docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.20

起動が成功したかどうかを確認する

ドッカーps -a

3 番目のステップが正常に開始されたら、コンテナーに入り、構成ファイルをホストにコピーします。

docker cp mysql:/etc/mysql /mnt/sda1/mysql8.0.20

コンテナの /etc/mysql ディレクトリをホストディレクトリ /mnt/sda1/mysql8.0.20 にコピーします。

ステップ4: mysqlコンテナを削除して再作成する

まずコンテナを停止する

docker 停止 mysql

コンテナを再度削除する

docker rm mysql

ステップ5: MySQLを起動し、設定ファイルをマウントし、データをホストに保存する

起動スクリプトのファイル名はmysql8.0.20.shです。

#!/bin/sh
docker 実行 \
-p 3306:3306 \
--name mysql \
--privileged=true \
--停止しない限り再起動する \
-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql \
-v /mnt/sda1/mysql8.0.20/logs:/logs \
-v /mnt/sda1/mysql8.0.20/データ:/var/lib/mysql \
-v /etc/localtime:/etc/localtime \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:8.0.20

コマンドの説明:

-p ポートマッピング

--privileged=true マウントファイルの権限設定

--restart except-stopped 起動後にコンテナを自動的に再起動するように設定する

-v /mnt/sda1/mysql8.0.20/mysql:/etc/mysql マウント設定ファイル

-v /mnt/sda1/mysql8.0.20/logs:/logs \ ログをマウント

-v /mnt/sda1/mysql8.0.20/data:/var/lib/mysql \ 永続性のためにデータ ファイルをホストにマウントします。

-v /etc/localtime:/etc/localtime コンテナの時刻はホストマシンと同期されます

-e MYSQL_ROOT_PASSWORD=123456 パスワードを設定する

-d mysql:8.0.20 バックグラウンド起動、mysql

ステップ6 : スクリプトを実行してイメージを起動する

sh mysql8.0.20.sh

docker ps -a を実行して正常に起動したかどうかを確認します。

Navicatはmysqlに接続してバージョン番号を表示します

完了です ---- データファイルと構成ファイルをマウントしました

インストール成功おめでとうございます。

MySQL の設定情報を変更する場合は、マウントされた設定ファイルを変更するだけです。

変更後は必ず再起動してください

MySQLを停止する

docker 停止 mysql

MySQLを起動する

docker で MySQL を起動する

素晴らしいトピックの共有:

MySQL の異なるバージョンのインストール チュートリアル

さまざまなバージョンの MySQL 5.7 インストール チュートリアル

さまざまなバージョンの MySQL 5.6 インストール チュートリアル

さまざまなバージョンのmysql8.0インストールチュートリアル

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • docker で mysql 設定ファイルを変更する方法
  • docker公式mysqlイメージのカスタム構成の詳細な説明
  • Docker に MySQL インスタンスをインストールして実行する
  • DockerがMySQL構成実装プロセスを開始

<<:  Maven プロジェクトのリモート デプロイメント && Tomcat を使用してデータベース接続を構成する方法

>>:  サーバー上で Nginx を使用して Springboot プロジェクトをデプロイする方法の詳細なチュートリアル (jar パッケージ)

推薦する

Flutterを使用して移動可能なスタックウィジェット機能を作成する

この投稿では、キャンバスとドラッグ可能なノード インターフェースを使用するデスクトップおよび Web...

Vue印刷機能を実装する2つの方法の概要

方法1: npm経由でプラグインをインストールする1. npm install vue-print-...

Dockerリポジトリの一般的なコマンドの詳細な説明

ログイン dockerログインdocker login コマンドを実行し、ユーザー名、パスワード、メ...

Vue で eslint 検出をオフにする方法 (複数の方法)

目次1. 問題の説明2. 問題解決1. 問題の説明Vue プロジェクトを開発する場合、作成時に誤って...

CSSボックスの表示/非表示とトップレイヤーの実装コード

.imgbox{ 幅: 1200ピクセル; 高さ: 612px; 右マージン: 自動; 左マージン...

CentOS 7.3 で Nginx 仮想ホストを設定する方法

実験環境最小限にインストールされた CentOS 7.3 仮想マシン基本環境を構成する1. ngin...

MySQL 8.0 オンライン DDL クイック列追加の概要

目次問題の説明MySQLオンラインDDLで列を追加する従来の方法01 コピー方法02 インプレースメ...

WeChatアプレットにナンバープレート入力機能を実装

目次序文背景大きな推測パターンを見つける構造とスタイルコンポーネントの実装パラメータキーボードの種類...

WeChatミニプログラムでのマップの正しい使用例

目次序文1. 準備2. 実際の戦闘2.1 ミニプログラムの権限を設定する2.2 カプセル化ツールの機...

MySQL パーティション フィールド列に別のインデックスを作成する必要がありますか?

序文パーティション フィールドは主キーの一部でなければならないことは誰もが知っています。では、複合主...

JavaScript で二分探索木を実装する

JavaScriptでの検索二分木実装は参考までに。具体的な内容は以下のとおりです。バイナリ検索木 ...

Linux システムで Centos7 を使って ElasticSearch ミドルウェアと共通インターフェースを構築するデモ

1. ミドルウェアの紹介1. 基本概念ElasticSearch は Lucene をベースにした検...

TypeScript マッピング型の詳細

目次1. マップされた型2. マッピング修飾子3. キーの再マッピング4. さらなる探究序文: Ty...

Nginxはクロスドメインの問題を解決し、サードパーティのページを埋め込む

目次序文困難クロスドメイン定義nginxの機能リバースプロキシ静的と動的の分離達成しようとする最終結...

ウェブページサイズに関する調査

<br />統計によると、Web ページの平均サイズは 2003 年以降 3 倍に増加し...