DockerにMySQL 8.0をインストールする方法

DockerにMySQL 8.0をインストールする方法
環境: MacOS_Cetalina_10.15.1、Mysql8.0.18、Docker_2.0.0.3

1. Dockerリポジトリでmysqlを検索する

docker 検索 mysql 

2. Dockerリポジトリからmysql8.0をプルする

docker プル mysql:8.0
述べる:
docker pull mysql // デフォルトで最新バージョンをプルします

3. ローカルウェアハウスイメージが正常にダウンロードされたかどうかを確認します

docker イメージ mysql:8.0 

4. mysql8.0コンテナをインストールして実行する

docker run -p 3307:3306 --name mysql8.0 -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0
述べる:
-p はローカルホストポートを Docker コンテナポートにマッピングします (ローカルポート 3306 は既に他のバージョンで使用されているため、3307 を使用します)
--name コンテナ名 -e 構成情報、ルートパスワードの設定 -d イメージ名

5. mysql8.0コンテナの実行状態を確認する

ドッカーps 

6. DockerがMySQLにログインする

docker exec -it mysql8.0 bash
mysql -uroot -p 

7. クライアント接続ツール(Navicat)を使用してMySQLにリモートログインする

ログインできないことがわかりました。エラーメッセージは次の通りです: Navicat は caching_sha_password 暗号化方式をサポートしていません。理由: MySQL 8.0 は新しいパスワード暗号化方式 caching_sha_password を使用します。
解決策: 古い暗号化方式 (mysql_native_password) に変更し、パスワードをリセットします。
* ユーザーからホスト、ユーザー、プラグインを選択します。
* mysql_native_password で識別されるユーザー 'root'@'%' を 'root' によって変更します。

8. クライアント接続ツール(navicat)を使用して、MySQLに再度リモートログインします。

9. 追記(よく使われるdockerコマンド)

docker search image name //イメージを検索docker pull image name: version number //対応するバージョンのイメージをプルdocker pull image name //デフォルトで最新のイメージをプルdocker images //ローカルにダウンロードしたイメージを表示docker ps //実行中のコンテナを表示docker ps -a //すべてのコンテナを表示(実行、停止、終了状態のコンテナを含む)
docker container ls //実行中のコンテナを表示docker rm container ID //実行されていないコンテナのみ削除docker rm -f container ID //実行中のコンテナを削除できるdocker run -p local host port number: container service port number--name container name[-e configuration information modification] -d image nameddocker start container ID //コンテナを起動docker stop container ID //コンテナを終了docker rmi image name orID //イメージを削除

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

以下もご興味があるかもしれません:
  • Docker で MySQL サービスをデプロイする方法と、遭遇する落とし穴
  • Docker で MySQL データベースを使用する方法の詳細説明 (LAN でのアクセス)
  • docker で mysql に接続できない場合の解決策
  • DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明
  • Docker に MySQL インスタンスをインストールして実行する
  • dockerログインmysqlエラー問題の実践記録

<<:  Linuxネットワーク構成ツールの使用

>>:  Vue で 3D タグ クラウドを実装するための詳細なコード

推薦する

自動同期テーブル構造のMySql開発

開発の問題点開発プロセスでは、データベース フィールドが頻繁に変更されるため、RD 環境と QA 環...

Alibaba Cloud に MySQL データベースをインストールするときに発生する 2002 エラーを解決する方法

データベースのインストール中に次のエラーが発生しました: 解決策は次のとおりです。 1. binディ...

CentOS7 で Jenkins+Maven+Git 継続的インテグレーション環境を構築する方法

この記事では、Spring boot + Maven プロジェクトのデプロイメントを例に、Code ...

uniappを使用してWeChatミニプログラムでEChartsを使用する方法

今日は、uniapp を使用して Echarts を統合し、マップ チャートを表示します。 mpvu...

Linuxはscpコマンドを使用してファイルをローカルコンピュータにコピーし、ローカルファイルをリモートサーバーにコピーします。

以下のように表示されます。リモート サーバーのファイルをローカルにコピーします。 scp -r -P...

ディレクトリスクロール効果を実現するネイティブJS

これはネイティブ JS で実装されたテキスト スクロール効果です。この効果は通常、ニュース、ダイナミ...

vue-element-admin プロジェクトのインポートとエクスポートの実装

vue-element-admin インポートコンポーネントのカプセル化テンプレートとスタイルまず、...

Node.js で MySQL データベースにバッチデータを挿入する方法

プロジェクト(nodejs)では、一度に複数のデータをデータベースに挿入する必要があります。データベ...

HTMLページ間でパラメータを渡すフロントエンド方式の詳細な説明

プロジェクトでよくある状況として、案件リストなどのリストが存在することがあります。リスト内の項目をク...

Mysqlのprepare前処理の具体的な使用法

目次1. 前処理2. 前処理塗布方法A. 例: B. 実行計画の変更を追跡するための前処理C. スト...

Vueのアイデアを使ってストレージをカプセル化する方法

目次背景関数目的アイデアの源成し遂げるセット得るプロパティの削除拡張機能を禁止するもっている要約する...

Day.js をベースにした JavaScript での日付処理のよりエレガントな方法

目次day.js を使用する理由モーメントデイ.js day.js がなければどうなるでしょうか? ...

データベースアカウントのパスワード暗号化の詳細な説明と例

データベースアカウントのパスワード暗号化の詳細な説明と例データベースアカウントとパスワードはデータベ...

vue3 における vuex と pinia の落とし穴

目次導入インストールと使用方法文章の相違点と類似点の簡単な比較VuexとPiniaの長所と短所Pin...

Vue の get リクエストと post リクエストの違いのまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...