MySQLですべてのユーザーを表示する方法
Takashi Yamamoto
Infrastructure Engineer · Leapcell

Key Takeaways
mysql.user
テーブルに対するクエリを使用して、すべてのMySQLユーザーをリストできます。mysql.user
テーブルへのアクセスには、管理権限が必要です。- ホストでフィルタリングしたり、個別のユーザー名を選択したりすることで、結果を絞り込むことができます。
MySQLデータベースサーバーを管理する際、既存のすべてのユーザーアカウントのリストを表示することが必要な場合があります。これは、セキュリティ設定の監査、権限の管理、および認証の問題のトラブルシューティングに役立ちます。この記事では、SQLクエリを使用してすべてのMySQLユーザーをリストする方法について説明します。
前提条件
開始する前に、以下を確認してください。
- MySQLがインストールされ、実行されていること。
- 十分な権限を持つMySQLユーザーアカウント(
root
または別の管理ユーザーなど)へのアクセス権があること。
MySQLシェルにログインするには、次のコマンドを使用します。
mysql -u root -p
ルートパスワードの入力を求められます。
すべてのMySQLユーザーの表示
MySQLは、ユーザー情報をmysql.user
システムテーブルに保存します。すべてのユーザーのリストを表示するには、次のSQLコマンドを実行します。
SELECT User, Host FROM mysql.user;
これにより、ユーザーが接続を許可されているホストとともに、ユーザーのリストが返されます。 例:
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | localhost |
| app_user | % |
| reporting_user | 192.168.% |
+------------------+-----------+
User
はユーザー名です。Host
は、ユーザーが接続を許可されている場所を指定します。%
は、任意のホストを意味します。localhost
は、ローカル接続のみが許可されていることを意味します。
オプション:一意のユーザー名の表示
ホストに関係なく、一意のユーザー名のみに関心がある場合は、クエリを変更できます。
SELECT DISTINCT User FROM mysql.user;
ホストによるユーザーのフィルタリング
ホストでユーザーをフィルタリングすることもできます。例:
SELECT User FROM mysql.user WHERE Host = 'localhost';
必要な権限
これらのクエリを実行するには、mysql.user
テーブルに対するSELECT
権限が必要です。 通常、root
などの管理ユーザーにはこの権限があります。
「権限がありません」というエラーが表示された場合は、DBAにアクセスをリクエストするか、より特権のあるユーザーとしてログインする必要がある場合があります。
セキュリティに関する注意
管理者以外のユーザーへのmysql.user
テーブルへの一般的なアクセスは避けてください。 ユーザー認証と権限に関する機密情報が含まれています。
結論
単純なSQLクエリを使用すると、すべてのMySQLユーザーを簡単にリストできます。 アカウントの監査やアクセスの管理など、mysql.user
テーブルのクエリ方法を理解することは、データベース管理者にとって不可欠なスキルです。
FAQs
SELECT User, Host FROM mysql.user;
を使用して、すべてのユーザーと許可されているホストをリストします。
MySQLアカウントはユーザー名とホストの両方で定義されているため、1人のユーザーに複数のホストエントリがある場合があります。
root
などの十分な権限を持つユーザーとしてログインしていることを確認してください。
Leapcellは、バックエンドプロジェクトをホストするための最高の選択肢です。
Leapcellは、Webホスティング、非同期タスク、およびRedis向けの次世代サーバーレスプラットフォームです。
多言語サポート
- Node.js、Python、Go、またはRustで開発します。
無制限のプロジェクトを無料でデプロイ
- 使用量に対してのみ支払い—リクエストも請求もありません。
比類のない費用対効果
- アイドル料金なしの従量課金制。
- 例:25ドルで、平均応答時間60msで694万リクエストをサポートします。
合理化された開発者エクスペリエンス
- 簡単なセットアップのための直感的なUI。
- 完全に自動化されたCI/CDパイプラインとGitOps統合。
- 実用的な洞察のためのリアルタイムのメトリックとロギング。
簡単なスケーラビリティと高パフォーマンス
- 高い同時実行性を容易に処理するための自動スケーリング。
- 運用オーバーヘッドはゼロ—構築に集中するだけです。
詳細については、ドキュメントをご覧ください。
X でフォローしてください: @LeapcellHQ