Dockerコンテナのmysql認証が失敗した場合の対処方法
近年、Docker コンテナ技術はさまざまなアプリケーション シナリオでますます広く使用されており、軽量かつ迅速な導入と管理方法を提供し、アプリケーションの開発と運用と保守を効率化します。 Docker コンテナ テクノロジを使用すると、コンテナ内での MySQL 認証の失敗など、いくつかの問題が発生する可能性があります。この記事では、この問題を解決する方法について説明します。
Docker コンテナでの MySQL 認証の失敗により、アクセス拒否などの問題が発生する可能性があります。この状況は通常、コンテナ内でユーザー認証が正しく設定されていないことが原因で発生します。 Docker コンテナでは、MySQL ユーザー認証には、パスワード ベースの認証と認証プラグイン ベースの認証という 2 つの主な方法があります。
パスワードベースの認可
パスワードベースの認可では、MySQL ユーザーはコンテナ内でアカウントのパスワードを作成し、外部からコンテナにアクセスするときにこれらの資格情報を認可に使用する必要があります。次の手順に従って MySQL アカウントを作成できます。
- Docker コンテナに MySQL サーバーを入力します
まず、コンテナに MySQL サーバーを入力する必要があります。これは、次のコマンドで実行できます。 実装:
docker exec -it mysql-container mysql -u root -p
このコマンドは、対話型ターミナルを起動し、コンテナ内の MySQL サーバーに接続します。
- 新しいユーザーの作成
MySQL ターミナルで、次のコマンドを使用して新しいユーザーを作成できます:
CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';
Where, 'newuser ' は新しいユーザーのユーザー名、'%' はユーザーが任意の IP アドレスからアクセスできることを意味し、'password' は新しいユーザーのパスワードです。
- 新しいユーザーの承認
同様に、MySQL ターミナルで次のコマンドを使用して新しいユーザーを承認できます:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
このコマンドは次のことを許可します。新規ユーザー すべてのデータベースとテーブルにアクセスします。
- 権限の更新
最後に、変更を有効にするには、権限を更新する必要があります:
FLUSH PRIVILEGES;
さて、新しいユーザーです。が正常に作成され、認証されると、ユーザー名とパスワードを使用して MySQL コンテナに外部からアクセスできるようになります。
認証プラグインベースの認可
認証プラグインベースの認可では、MySQL サーバーは、SSL 証明書や Kerberos などの外部認証プラグインをユーザー認証に使用します。 .、より安全にユーザーを認証します。 Docker コンテナでは、次の手順を使用して認証プラグインを設定できます。
- プラグインを MySQL コンテナにインストールします
認証プラグインを使用するには、 Docker コンテナ内の MySQL サーバーにプラグインをインストールする必要があります。これは、次の手順に従って実行できます。
docker cp auth_plugin.so mysql-container:/usr/lib/mysql/plugin/
このコマンドは、プラグイン ファイル auth_plugin.so をコンテナ内の /usr/lib/mysql/plugin/ ディレクトリにコピーします。
- プラグインを有効にする
次に、MySQL 構成ファイルでプラグインを有効にする必要があります。構成ファイルは、次のコマンドを使用して変更できます。
docker exec -it mysql-container bash vi /etc/mysql/my.cnf
認証プラグインを有効にするセクションで、次の行を追加する必要があります。
[mysqld] plugin-load = auth_plugin.so
- Create user
MySQL ターミナルでは、プラグインに基づいてユーザーを作成する必要があります。これは次のコマンドで実行できます:
CREATE USER 'newuser'@'%' IDENTIFIED WITH auth_plugin AS 'cred';
ここで、「newuser」は新しいユーザーのユーザー名、「%」はユーザーが任意の IP アドレスからアクセスできることを意味します。アクセスの場合、「cred」は、プラグインの使用時にユーザーを認証するために使用される認証情報が暗号化された文字列です。
- 新しいユーザーの承認
同様に、MySQL ターミナルで、次のコマンドを使用して新しいユーザーを承認する必要があります:
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%';
このコマンドこれにより、新しいユーザーにすべてのデータベースとテーブルへのユーザー アクセスが許可されます。
- 権限の更新
最後に、権限を更新する必要があります:
FLUSH PRIVILEGES;
これで、プラグインベースのユーザーが正常に作成され、承認されました。その資格情報は、外部から MySQL コンテナにアクセスするために使用されます。
概要
Docker コンテナでは、MySQL の認証失敗により、アクセス拒否などの問題が発生する可能性があります。この記事では、パスワードベースの認可と認証プラグインベースの認可という 2 つの MySQL ユーザー認可方法を紹介します。どちらの方法を使用する場合でも、外部からコンテナ内の MySQL サーバーにアクセスするには、ユーザー権限を正しく設定する必要があります。
以上がDockerコンテナのmysql認証が失敗した場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











この記事では、Docker Execコマンドを使用して実行中のDockerコンテナ内でコマンドを実行する方法について説明します。 基本的な構文、オプション(インタラクティブな使用の場合、デタッチされたモード用-Dなど)、シェルアクセス、一般的なユースケース(デバッグ、管理

この記事では、アプリケーションの構築、出荷、およびランニングを簡素化するコンテナ化プラットフォームであるDockerについて説明します。 アプリと依存関係を孤立したコンテナにパッケージ化することにより、「私のマシンで動作する」という問題に対処し、CONを改善します

この記事では、Dockerを仮想マシンとは対照的に説明しています。 Dockerはコンテナ化を使用し、ホストOSカーネルを軽量でリソース効率の高いアプリケーション分離のために共有します。 重要な利点には、速度、移植性、展開の容易さ、aが含まれます

この記事では、プロセス中の準備、展開ステップ、セキュリティ対策をカバーするDocker Swarmへのアプリケーションの展開を詳細に説明します。

Dockerは、コンテナ化を介してアプリケーションの構築、出荷、および実行を簡素化します。 一貫した開発環境、より速いサイクル、コラボレーションの改善、および合理化されたCI/CDを提供し、ポータブル、スケーラブル、およびリソース効率をもたらします

この記事では、アプリケーションの作成、展開、および実行を簡素化するコンテナ化プラットフォームであるDockerについて説明します。 Dockerの利点など、効率の向上、一貫性、リソース利用、合理化された展開を強調しています。 さまざまな用途

この記事では、手動スケーリング、HPA、VPA、およびCluster Autoscalerを使用してKubernetesのスケーリングアプリケーションについて説明し、スケーリングを監視および自動化するためのベストプラクティスとツールを提供します。

この記事では、Kubernetesのポッド、展開、およびサービスについて説明し、コンテナ化されたアプリケーションの管理における役割について詳しく説明しています。これらのコンポーネントが、アプリケーション内のスケーラビリティ、安定性、および通信をどのように強化するかについて説明します。(159文字)
