MySQL (8 および 5.7) の Docker インストール

MySQL (8 および 5.7) の Docker インストール

この記事では、Dockerを使用してMySQLデータベースとリモートアクセス構成をデプロイする方法を紹介します。

MySQLをインストールする

画像をプルする

MySQL データベース イメージをプルするには、次のコマンドを使用します。

$ sudo docker pull mysql # イメージの最新バージョンをプルします。現在は MySQL 8、タグは最新です

$ sudo docker pull mysql:5.7 # MySQLバージョン5.7をプルするように指定します

検索コマンドを使用して、人気度を表す星の数でマークされた他の MySQL 関連のミラーを見つけることもできます。

$ sudo docker 検索 mysql

MySQLの実行

$ sudo docker run -p 3306:3306 \
  --name mysql \
  -v $PWD/conf:/etc/mysql/conf.d \
  -v $PWD/ログ:/ログ\
  -v $PWD/データ:/var/lib/mysql \
  -e MYSQL_ROOT_PASSWORD=パスワード \
  -d MySQL の

コマンドの説明:

  • -p 3306:3306 : コンテナのポート 3306 をホストのポート 3306 にマップします。
  • -v $PWD/conf:/etc/mysql/conf.d : ホストの現在のディレクトリにある conf/my.cnf をコンテナ内の /etc/mysql/my.cnf にマウントします。
  • -v $PWD/logs:/logs: ホストの現在のディレクトリの下の logs ディレクトリをコンテナの /logs にマウントします。
  • -v $PWD/data:/var/lib/mysql : ホストの現在のディレクトリの下のデータ ディレクトリをコンテナの /var/lib/mysql にマウントします。
  • -e MYSQL_ROOT_PASSWORD=your-password: ルート ユーザーのパスワードを初期化します。非常に複雑なパスワードを使用することをお勧めします。
  • -d mysql: デプロイするイメージ名。バージョン5.7の場合は、mysql:5.7になります。

リモート アクセスの構成

MySQL へのリモート アクセスは基本的な構成ですが、構成時にセキュリティの問題に注意する必要があります。そうしないと、特にエンタープライズ サーバーの場合、セキュリティ上のリスクが発生します。

また、ポート 3306 はサーバーのファイアウォールとサーバー プロバイダーのセキュリティ グループで有効にする必要があります。有効にしないと、アクセスできなくなります。

リモート アクセスを構成するには、まず MySQL 制御ターミナルを開き、次のコマンドを使用して開きます。

$ sudo docker exec -it mysql bash # MySQLコンテナに入る $ mysql -uroot -p # 実行後にMySQLにログインしてパスワードを入力する

$ use mysql; # mysqlデータベースの使用を選択

MySQL 8 の設定

'username'@'%' というユーザーを作成し、'password' で識別します。
# リモート アクセス用のアカウントを作成します。
# {usernama} はリモートアクセスログインのユーザー名です。root の使用は推奨されません。
# {password} はリモートアクセス用のログインパスワードです。
# '%' はすべての IP を表します。可能であれば、特定の IP または IP セグメントを設定してみてください。GRANT ALL ON *.* TO 'username'@'%';
# 以前に作成したアカウントにすべての権限を付与します ALTER USER 'username'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
# このアカウントにログインするためにここでパスワードを使用することを確認します FLUSH PRIVILEGES;
# 権限の更新

完全なコマンドは次のとおりです。

'123456asd' によって識別されるユーザー 'james'@'%' を作成します。
# リモート アクセス用のアカウント (James) を作成します。

*.* のすべての権限を 'james'@'%' に付与します。
# 以前に作成したアカウント james にすべての権限を付与します

ALTER USER 'james'@'%' は '123456asd' によって mysql_native_password で識別されます。
# このアカウント {james} にログインするにはパスワード {123456asd} を使用することを確認します
# セキュリティを高めるために、パスワードはできるだけ複雑にしてください。

権限のフラッシュ;
# 権限の更新

設定後、Navicat またはその他のツールを使用して接続をテストします。

MySQL 5.7 の設定

GRANT OPTION を使用して、'password' で識別される 'username'@'%' に *.* のすべての権限を付与します。
# {usernama} はリモートアクセスログインのユーザー名です。root の使用は推奨されません。
# {password} はリモートアクセス用のログインパスワードです。
# '%' はすべての IP を表します。可能であれば、特定の IP または IP セグメントの FLUSH PRIVILEGES を設定してみてください。
# 権限の更新

設定後、Navicat またはその他のツールを使用して接続をテストします。

注意: アクセスできない場合は、ファイアウォールのポート 3306 が開いているかどうか、およびサーバー プロバイダーのセキュリティ グループ内のポートが開いているかどうかを確認してください。

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

以下もご興味があるかもしれません:
  • Docker に MySQL と Redis をインストールする方法
  • Docker で Tomcat、MySQL、Redis をインストールするための詳細な手順
  • DockerにMySQLをインストールする方法
  • Docker で MySQL をインストールし、リモート接続を実装するチュートリアル
  • DockerにMySQL 8.0をインストールする方法
  • Docker に MySQL と MariaDB をインストールする方法
  • Docker に共通コンポーネント (mysql、redis) をインストールする方法
  • DockerにMySQL8をインストールする方法
  • MySQL の Docker インストールと設定手順

<<:  JavaScript+html はフロントエンドページでランダム QR コード検証を実装します

>>:  MySQL 8.0.13 で日付を 0000-00-00 00:00:00 に設定すると発生する問題を解決する

推薦する

h1、h2、h3タグを適切に使用する

Web ページを作成する過程では、<h1>、<h2>、<h3> ...

MySQL 5.7.27 のインストールと設定方法のグラフィックチュートリアル

MySQL 5.7.27の詳細なダウンロード、インストール、および構成チュートリアルは参考までに、具...

Nginx で 403 forbidden を解決するための完全な手順

ウェブページに403 Forbiddenと表示されるNginx (yum インストール ログは通常 ...

Mysql でサーバーの UUID を変更する方法

問題の原因:スレーブサーバーがクローンマスターサーバーである場合、server-uuidの値は同じで...

レスポンシブ原則と Vue2.0/3.0 の違いについての簡単な分析

序文vue3.0 が正式にリリースされて以来、多くの友人が vue3.0 に切り替えました。ここでは...

Vue はボタンをクリックしてファイルをダウンロードする操作コードを実装します (バックエンド Java)

前回の記事では、ボタンをクリックしてファイルをダウンロードするVueの機能を紹介しました。今日は、ボ...

Reactフック入門チュートリアル

ステートフック例: 'react' から useState をインポートします。 関...

CentOS 7 に MySQL 8.0.20 データベースをインストールするための詳細なチュートリアル

関連記事: MySQL8.0.20 インストール チュートリアルとインストールの問題に関する詳細なチ...

Docker View プロセス、メモリ、カップ消費量

Docker プロセス、メモリ、カップ消費量を表示dockerコンテナを起動し、dockerinsp...

MySQL クエリ フィールド タイプが json の場合の 2 つのクエリ メソッド

テーブル構造は次のとおりです。 id varchar(32) 情報JSONデータ: id = 1 i...

Linux サーバーのステータスとパフォーマンスに関連するコマンドの詳細な説明

サーバーステータス分析Linux サーバーの CPU の詳細を表示する#CPU情報を表示[root@...

MySQL 8.0.11 Community Green Edition の Windows 用インストール手順図

このチュートリアルでは、インストールに最新の MySQL コミュニティ グリーン バージョンである ...

Reactは適応性の高い仮想リストを実装する

目次変換前:変換後: 0x0の基本0x1 「固定高さ」の仮想リストを実装する原理:最適化: 0x2 ...

Vue コード強調プラグインの総合的な比較と評価

目次総合的な比較アクティブの観点から機能的な観点から詳細な比較1. エース2. コードミラー3. モ...

コード例を通してページ置換アルゴリズムの原理を理解する

ページ置換アルゴリズム: 本質は、限られたメモリをワイヤレス プロセスに対応できるようにすることです...