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 タグ クラウドを実装するための詳細なコード

推薦する

面接でよく聞かれる Vue 修飾子 13 個

目次1. 怠惰な2.トリム3.番号4.停止5. キャプチャ6.自分7.一度8.予防する9.ネイティブ...

24 の実用的な JavaScript 開発のヒント

目次1.配列を初期化する2. 配列の合計、最大値、最小値3. エラー値をフィルタリングする4. 論理...

MySQL アーキテクチャのナレッジポイントの概要

1. データベースとデータベースインスタンスMySQL の研究では、データベースとデータベース イン...

2 つの MySQL ユーザー削除ステートメント (delete user と drop user) の違い

ヒント: MySQL では、ユーザーの作成と削除が頻繁に必要になります。ユーザーを作成するときは、通...

Dockerイメージのローカル移行の実装

最近 Docker を勉強しているのですが、よく問題に遭遇します。Docker イメージをダウンロー...

MySQL 整合性制約の定義と例のチュートリアル

目次整合性制約整合性制約の定義整合性制約の分類主キー制約単一の主キーと複合主キーの違い主キーフィール...

バッチファイルを処理するLinuxの1行コマンドの詳細な説明

序文最良の方法は、あなたが思いつく最も速い方法ではないかもしれません。職場で一時的に使用するスクリプ...

Vue を使用して CSS トランジションとアニメーションを実装する方法

目次1. トランジションとアニメーションの違い2. Vueを使用して基本的なCSSトランジションとア...

効果的なウェブフォームのための 8 つのルール

ユーザーから情報を収集する場合、Web フォームを使用するより簡単で直接的な方法はありません。適切に...

MySQL 最適化チュートリアル: 大規模なページングクエリ

目次背景制限の最適化最適化方法1. カバーインデックスを使用する2. サブクエリの最適化3. 遅延連...

Linux での MySQL 5.7.19 (tar.gz) インストール グラフィック チュートリアル

Linux で MySQL-5.7.19 バージョンをインストールするための最初のチュートリアル。す...

WeChatアプレットがシンプルな計算機機能を実装

WeChatアプレット:シンプルな計算機、参考までに、具体的な内容は次のとおりです。ミニプログラムに...

MySQLループは数千万のデータを挿入する

1. テストテーブルを作成する テーブル `mysql_genarate` を作成します ( `id...

Linuxのlocateコマンドの使い方

01. コマンドの概要実際には、locate コマンドは find -name の別の書き方ですが、...

ログインフォームを実装するためのReactサンプルコード

Vue ユーザーとして、React を拡張する時が来ました。antd の導入、less と rout...