Docker はリモート接続のサンプルコードを実現するために MySQL をデプロイします

Docker はリモート接続のサンプルコードを実現するために MySQL をデプロイします

1.docker search mysql查看mysql版本

2. docker pull mysqlは要選擇starts最高的那個name 進行下載

3. docker images查看下載好的鏡像

4. MySQLインスタンスを起動する

 docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql

--name 、mysql インスタンスのエイリアスを設定します。 -p 3307 は外部に公開されるポートです。 3306は内部ポートです

-e MYSQL_ROOT_PASSWORD mysqlログインパスワードを設定します -dはデーモンとして実行されます(バックグラウンド実行)最後のmysqlはイメージ名です

5. docker ps -a查看在運行的

6. docker exec -it dockermysql bash が進入容器內部 dockermysql 是上邊運行時為容器取的別名也可以用id替代

7.docker mysql -u root -p然后直接輸入密碼即可密碼是在運行時設置的

MySQLを使用する

8.給用于授予權限

GRANT ALL PRIVILEGES ON *.* 'root'@'%' identified by '123123' WITH GRANT OPTION; これは、インターネットではより一般的な書き方です。実際には、エラーが報告されます。

9.権限のフラッシュ、権限の更新

10. ログイン

11.Mysql リモート接続エラー: authentication plugin caching_sha2

MySQL 8.0 では、デフォルトで caching_sha2_password 認証メカニズムが使用されます (mysql_native_password から caching_sha2_password に変更)。

5.7 から 8.0 にアップグレードしても、既存のユーザーの認証方法は変更されませんが、新しいユーザーはデフォルトで新しい caching_sha2_password を使用します。

クライアントは新しい暗号化方式をサポートしていません。

方法1: ユーザーのパスワードと暗号化方式を変更する

ALTER USER 'root'@'%' を 'password' によって mysql_native_password で識別します。

ユーザーに権限を付与する場合と同じになります。 localhost の場合は、上記と同じ操作を行います。 %についても同様です

mysql8.* の新機能: caching_sha2_password パスワード暗号化方式

以前のバージョンの MySQL では、パスワードの暗号化にmysql_native_passwordを使用していました。

新しく追加されたユーザーパスワードのデフォルトのcaching_sha2_password

以前のMySQLをベースにアップグレードする場合、ユーザーが使用するパスワード暗号化はmysql_native_passwordである必要があります。

以前のパスワード暗号化方法を使用する場合は、/etc/my.cnfファイルを変更します。

データベースのタイムゾーンの問題:

データベースへの接続時にパラメータ serverTimezone=UTC に問題が発生する

serverTimezone=Asia/Shanghai に変更するだけで問題ありません。

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

以下もご興味があるかもしれません:
  • Dockerは安全なTLSリモート接続アクセスを可能にします
  • サーバーのDockerコンテナへのvscodeリモート接続を設定する方法
  • Docker は 2003 年の問題を解決するために MySQL リモート接続を導入しました
  • TLS暗号化通信を使用してDockerにリモート接続する詳細な例
  • Docker で MySQL をインストールし、リモート接続を実装するチュートリアル
  • dockerデーモンのリモート接続設定の詳しい説明
  • Dockerリモート接続設定の実装例

<<:  MAC+PyCharm+Flask+Vue.js ビルドシステム

>>:  MySQL サーバー 5.7.20 のインストールと設定方法のグラフィック チュートリアル

推薦する

MySQL スロークエリを通じて MySQL のパフォーマンスを最適化する方法

アクセス数が増えると、MySQL データベースへの負荷が増大します。MySQL アーキテクチャを使用...

進捗バー効果を実現するJavaScript

この記事では、プログレスバー効果を実現するためのJavaScriptの具体的なコードを参考までに紹介...

MySQLデータを復元する2つの方法

1. はじめに少し前、開発者がテスト環境や本番環境で誤った操作をし、データベースを誤って削除/更新し...

Linux で boost.python を使用して C++ 動的ライブラリを呼び出す方法

序文最近、C++ 動的ライブラリをテストするためにロボット フレームワークを使い始めました。ロボット...

WeChatアプレットは水平および垂直スクロールを実現

この記事の例では、WeChatアプレットの水平スクロールと垂直スクロールを実現するための具体的なコー...

Vue は無限ロードウォーターフォールフローを実装します

この記事では、参考までに、無限ロードウォーターフォールフローを実現するためのVueの具体的なコードを...

大きな MySQL テーブルに列を追加する方法

質問は https://www.zhihu.com/question/440231149 から参照さ...

MySQL は制限を使用してページング例メソッドを実装します

1. 制限の基本的な実装一般的に、クライアントは、pageNo (ページ番号) と pageSize...

Linux ipcsコマンドの使用

1. コマンドの紹介ipcs コマンドは、Linux のプロセス間通信機能の状態を報告するために使用...

JS での Reduce() メソッドの使用の概要

目次1. 文法2. 例3. その他の関連方法長い間、reduce() メソッドの具体的な使い方を理解...

MySQL Bツリーインデックスとインデックス最適化の概要についての簡単な説明

MySQL の MyISAM エンジンと InnoDB エンジンはどちらもデフォルトで B+ ツリー...

Webフロントエンド開発経験の概要

XMLファイルは、可能な限りutf-8でエンコードする必要があります。gb2312には、?など、保存...

JavaScript初心者がよく犯す間違い

目次序文undefined と null の混同紛らわしい数値の加算と文字列の連結戻り文の改行の問題...

CSSフローティングとフローティング解除について

フロートの定義要素を通常のドキュメント フローから外し、要素を左また​​は右に近づけます。親要素の端...

Node.js のフロントエンドとバックエンドのインタラクションによるユーザーログインの実装の実践

目次1. プロジェクト要件次にコーディングを始める1. フロントエンドページを作成する(CSSスタイ...