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 のインストールと設定方法のグラフィック チュートリアル

推薦する

JSはプログレスバーをドラッグして要素の透明度を変更することを実装しています

今日ご紹介したいのは、ネイティブ JS を使用してプログレス バーをドラッグし、要素の透明度を変更す...

Linux システムで Centos7 を使って ElasticSearch ミドルウェアと共通インターフェースを構築するデモ

1. ミドルウェアの紹介1. 基本概念ElasticSearch は Lucene をベースにした検...

Mac での MySQL と Squel Pro の設定

Node.js の人気に応えて、最近、いくつかのサーバー側機能を実装するために Node.js を使...

React forwardRefの使い方と注意点

これまで react.forwardRef は react の高階コンポーネントには適用できませんで...

MYSQL 文字列強制変換メソッドの例

序文2 つのテーブル内の同じフィールドの型が異なっていたり、エンコード タイプが異なっていたりするた...

HTML の左右レイアウトのサンプルコード

CS: ...コードをコピーコードは次のとおりです。 html,body{ margin:0px; ...

複数の HTML ページで HTML コードをまとめて呼び出す方法

方法 1: スクリプト方式を使用する:共通ヘッダー ファイル head.js または共通フッター フ...

grep を使用して MySQL エラー ログ情報を取得する方法の詳細な説明

MySQL のメンテナンスを容易にするために、エラー情報を収集するためのインターフェースを提供するス...

HTML メタビューポート属性の説明

ビューポートとはモバイル ブラウザは、Web ページを仮想の「ウィンドウ」(ビューポート) に配置し...

Flex プログラム Firefox で中国語を入力すると文字化けするバグ

Firefox の下位バージョンでは中国語の文字を入力できず、上位バージョンでは文字化けした文字が表...

Docker 大規模プロジェクトのコンテナ化変革

仮想化とコンテナ化は、クラウドベースのプロジェクトでは避けられない 2 つの問題です。仮想化は純粋な...

HTMLタグと基本要素の学習のまとめ

1. HTML の要素とタグ<br />要素は、1 つのタグまたは 1 組のタグによって...

要素動的ルーティングブレッドクラムの実装例

マスターするには: localStorage、コンポーネントのカプセル化えーと、GIF に変換したビ...

Element UI で自動サイズ調整テキストエリアの高さを設定する方法

Element UIのtextarea input自動サイズに設定すると、テキストボックスのデフォル...

MySQL スケジュールタスクの実装と使用例

この記事では、例を使用して、MySQL スケジュール タスクの実装と使用方法を説明します。ご参考まで...