Docker で複数の MySQL コンテナを作成して実行する方法の例

Docker で複数の MySQL コンテナを作成して実行する方法の例

1. mysql/mysql-server:latestイメージを使用してMySQLインスタンスを素早く起動する

docker run --name ilink_user_01 -e MYSQL_ROOT_PASSWORD=123456 0d 0p 3307:3306 mysql/mysql-server:latest 

  • ilink_user_01はコンテナ名で、--nameコマンドで指定されます。
  • 123456 はデータベース ルートのパスワードです。-e は環境変数 MYSQL_ROOT_PASSWORD を 123456 に指定します。-e (コンテナ内の環境変数を指定します)
  • -d -dパラメータを指定すると、コンテナはバックグラウンドに入り、ユーザーはコンテナ内の情報を見たり操作を実行したりできなくなります。
  • 3307:3306はポートマッピングであり、ローカルホストのポート3307がコンテナのポート3306にマッピングされることを指定します。

2.インスタンスを入力して、mysql構成情報を変更します。

docker exec -it ilink_user_01 bash 

  • execはコンテナ内で直接人間のコマンドを実行できる
  • -itパラメータは、コンテナ内の他のアプリケーションに影響を与えずに、テーブル入力を保存して開くために使用され、ユーザーはコンテナと簡単に対話できます。

3. MYSQLデータベース内のすべてのユーザーを表示する

SELECT DISTINCT CONCAT('ユーザー: '''、user、'''@'''、host、''';') AS query FROM mysql.user; 

4. mysqlのルートユーザーを変更して、どのIPからもログインできるようにします。

mysql.user を更新し、host='%' を設定し、user='root' にします。

権限をフラッシュします。 

5. Navicatを使用して接続をテストする

認証プラグイン「caching_sha2_password」が表示されるのは、MySQL イメージが caching_sha2_password を使用して暗号化されており、Navicat が caching_sha2_password 暗号化方式をサポートしていないためです。

6. 認証プラグイン「caching_sha2_password」を解決する

ALTER USER 'root'@'%' は '123456' によって mysql_native_password で識別されます。 

7. Navicat接続を再利用する

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

以下もご興味があるかもしれません:
  • Dockerコンテナの起動時にMysqlデータベースを初期化する方法
  • DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明
  • Docker経由でMysqlコンテナ+Tomcatコンテナ接続環境を構築する詳細説明
  • DockerでMySQLコンテナを作成する方法
  • DockerでMySQLコンテナを作成し、コマンドラインからコンテナに接続する方法の詳細な説明
  • Docker コンテナを使用して MySql マスター スレーブ レプリケーションを構築する
  • Docker の Tomcat コンテナで MySQL を使用する方法
  • Docker接続Spring BootとMySQLコンテナ方式の紹介
  • DockerでMySQLコンテナを作成する簡単な手順
  • Docker の MySQL コンテナのタイムゾーン問題の修正

<<:  mysql5.6 以前のデータベースで json をクエリする方法

>>:  Mysql5.7 で中国語の文字化けの問題を解決する

推薦する

Vueはソースコード付きのリファレンスライブラリのメソッドを使用します

monaco-editor-vueの公式ソースコードは次のとおりです。インデックス 'mon...

CentOS7にNginxをインストールして自動起動を設定する方法

1.公式サイトからインストールパッケージをダウンロードするhttp://nginx.org/en/d...

HTML テーブルタグについての簡単な説明

主にその構造といくつかの重要な特性について説明します。少しずつ改善しながら紹介していきます。 1) ...

InnoDB ロック (レコード、ギャップ、Next-Key ロック) の詳細な説明

レコード ロックは、単一のインデックス レコードをロックします。レコード ロックは常にインデックスを...

CSS3 のディスプレイのグリッドレイアウトとフレックスレイアウトの詳細な説明

Gird レイアウトは Flex レイアウトといくつかの類似点があり、どちらもコンテナーの内部項目を...

MySQL 8.0.12 インストール設定方法とパスワード変更

この記事ではMySQL 8.0.12のインストールと設定方法を参考までに記録します。具体的な内容は以...

Vueコンポーネント間のデータ共有の詳細な説明

目次1. プロジェクト開発において、コンポーネント間の最も一般的な関係は次の 2 つのタイプに分けら...

Linux のバックグラウンドで実行するいくつかの方法 (まとめ)

1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...

js で虫眼鏡効果を実現するためのアイデアとコード

この記事の例では、虫眼鏡効果を実現するためのjsの具体的なコードを参考までに共有しています。具体的な...

Navicat を使用してリモート Linux MySQL データベースに接続するときに発生する 10061 不明エラーの詳細な説明

Navicat を使用してリモート Linux MySQL データベースに接続すると、不明なエラー ...

MySQL テーブルにはどのくらいの量のデータを保存できますか?

プログラマーは MySQL を扱う機会が多く、毎日触れているとも言えますが、MySQL テーブルには...

VMware 仮想マシンのネットワークの問題の解決方法

目次1. 問題の説明2. 問題解決1. 仮想マシンシステムのインストール時にネットワークがない場合2...

Linux カーネル デバイス ドライバー システム コールに関する注意事項

/**************************** * システムコール**********...

Linux curl フォームのログインまたは送信と Cookie の使用に関する詳細な説明

序文この記事では主に、curl を介してフォーム送信ログインを実装する方法について説明します。単一の...

Vue で HTML 5 ドラッグ アンド ドロップ API を使用する方法

ドラッグ アンド ドロップ API は、ドラッグ可能な要素を HTML に追加し、ドラッグ可能な豊富...