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 で複数の主キーが定義されているエラーの解決方法

主キーを作成するには 2 つの方法があります。 テーブルテーブル名を作成( フィールド名タイプ、 フ...

Linux で time(NULL) 関数と localtime() を使用して現在の時刻を取得する方法

time(); 関数関数プロトタイプ: time_t time(time_t *timer)関数の目...

Javascript 操作メカニズム イベントループ

目次1. 4つのコンセプト1. JavaScriptはシングルスレッドです2. タスクキュー3. 同...

背景画像の配置におけるbackground-position属性の自己理解

最近、プロジェクトではラベルやボタンなどの断片的な画像をたくさん使用する必要があります。また、CSS...

Webフロントエンドのパフォーマンス最適化

ウェブフロントエンド最適化のベストプラクティス: コンテンツWebフロントエンド最適化のベストプラク...

CSS3 タブアニメーションの例 背景切り替えの動的効果

CSS 3 アニメーションの例 - タブの背景切り替えの動的効果、具体的なコードは次のとおりです。 ...

Linux システムでの CPU 使用率が高い場合のトラブルシューティングのアイデアと解決策

序文Linux 運用保守エンジニアとして、日々の業務の中で Linux サーバーの CPU 負荷が ...

Nginx 1つのドメイン名で複数のプロジェクトにアクセスする方法の例

背景最近、複数のプロジェクトを展開する際に、1 つのドメイン名で複数のプロジェクトにアクセスする方法...

MySQL のファントムリード問題を解決する方法

目次序文1. ファントムリーディングとは何ですか? 2. ファントムリーディングの問題点は何ですか?...

SQLクエリの実行順序をゼロから学ぶ

SQL クエリ ステートメントの実行順序は次のとおりです。 (7)選択 (8) DISTINCT &...

CentOS 7へのJenkinsのインストール手順の詳細な説明

Yum経由でJenkinsをインストールする1. インストール # yum ソースをインポート wg...

LAMP ソースコードを使用したエンタープライズレベルのインストールチュートリアル

目次LAMPアーキテクチャ1.ランプの紹介2. WebサービスワークフローWebサーバーのリソースは...

WindowsにOpenSSLをインストールし、OpenSSLを使用して公開鍵と秘密鍵を生成します。

1. OpenSSL公式サイト公式ダウンロードアドレス: https://www.openssl....

LinuxでifconfigとaddrがIPアドレスを表示できない問題を解決する

1. 仮想マシンにLinuxシステムをインストールし、仮想マシンを起動し、rootとパスワードを入力...

Vue3.0 で Vuex 状態管理を開始する方法をすぐに習得します

Vuex は、Vue.js アプリケーション専用に開発された状態管理パターンです。集中型ストレージを...