MySQL コマンドライン ユーティリティを使用しており、データベースをナビゲートできます。ここで、ユーザー アカウントのリストを表示する必要があります。これどうやってするの?
MySQL バージョン 5.4.1 を使用しています。
MySQL コマンドライン ユーティリティを使用しており、データベースをナビゲートできます。ここで、ユーザー アカウントのリストを表示する必要があります。これどうやってするの?
MySQL バージョン 5.4.1 を使用しています。
次のクエリを使用します。
SELECT User FROM mysql.user;
次のようなテーブルが出力されます。
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
Matthew Scharleyがこの回答のコメントで指摘しているUser
ように、一意のユーザー名のみを表示したい場合は、列でグループ化できます。
MySQL でユーザー レコードを区別するために重要なホスト フィールドが含まれているため、この形式が最も便利だと思います。
select User,Host from mysql.user;
ユーザー アカウントは、ユーザー名とホスト レベルのアクセスで構成されます。
したがって、これはすべてのユーザー アカウントを与えるクエリです。
SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;
MySQL は、ユーザー情報を独自のデータベースに保存します。データベースの名前は ですMySQL
。そのデータベース内で、ユーザー情報は という名前のテーブル、データセットにありuser
ます。MySQL ユーザー テーブルに設定されているユーザーを確認するには、次のコマンドを実行します。
SELECT User, Host FROM mysql.user;
+------------------+-----------+
| User | Host |
+------------------+-----------+
| root | localhost |
| root | demohost |
| root | 127.0.0.1 |
| debian-sys-maint | localhost |
| | % |
+------------------+-----------+
実際の MySQL ユーザーについて言及している場合は、次を試してください。
select User from mysql.user;
SELECT * FROM mysql.user;
これは大きなテーブルなので、選択するフィールドをより厳選する必要があるかもしれません。
root として MySQL にログインし、次のクエリを入力します。
select User from mysql.user;
+------+
| User |
+------+
| amon |
| root |
| root |
+------+
mysql.db テーブルは、ユーザー権限を決定する上でおそらくより重要です。GRANT コマンドでテーブルを指定すると、その中にエントリが作成されると思います。私の場合、mysql.users テーブルは、明らかに接続して選択できたときに、ユーザーのアクセス許可を表示しませんでした。
mysql> select * from mysql.db;
mysql> select * from db;
+---------------+-----------------+--------+-------------+-------------+-------------+--------
| Host | Db | User | Select_priv | Insert_priv | Update_priv | Del...
これを使用してユーザーを並べ替え、許可されたホストを簡単に見つけられるようにします。
mysql> SELECT User,Host FROM mysql.user ORDER BY User,Host;
Peter と Jesse は正しいですが、最初に "mysql" データベースを選択していることを確認してください。
use mysql;
select User from mysql.user;
それはあなたのトリックを行う必要があります。