MySQLコマンドラインユーティリティを使用しており、データベース内を移動できます。次に、ユーザーアカウントのリストを表示する必要があります。これどうやってするの?
MySQLバージョンを使用しています5.4.1。
MySQLコマンドラインユーティリティを使用しており、データベース内を移動できます。次に、ユーザーアカウントのリストを表示する必要があります。これどうやってするの?
MySQLバージョンを使用しています5.4.1。
回答:
このクエリを使用します。
SELECT User FROM mysql.user;
これは次のようなテーブルを出力します:
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
Matthew Scharley がこの回答のコメントで指摘しているUserように、一意のユーザー名のみを表示したい場合は、列でグループ化できます。
Userごとに別々の行があるので、一意のユーザー値のみを取得するために、グループ化も必要になると思います。userhost
DELETE FROM mysql.user;良く持っているWHERE user='someuser' and host='somehost';あなたが行う場合はDELETE FROM mysql.user;、すべてのユーザーがなくなっています。次のmysqlの再起動後のログイン、またはFLUSH PRIVILEGES;メモリからのユーザーの排除。ここでやっての私の記事の1の例であるDELETE FROM mysql.user責任:dba.stackexchange.com/questions/4614/...
SHOW GRANTS FOR 'user'@'host';
DISTINCT:キーワードSELECT DISTINCT user FROM mysql.user;
ユーザーアカウントは、ユーザー名とホストレベルのアクセスで構成されます。
したがって、これはすべてのユーザーアカウントを提供するクエリです
SELECT CONCAT(QUOTE(user),'@',QUOTE(host)) UserAccount FROM mysql.user;
user@host形式はパスワードの設定に使用されます。SET PASSWORDコマンドからホストを省略すると、エラーが発生します。SET PASSWORD FOR wordpressuser = PASSWORD('...');エラーを生成しますERROR 1133 (42000): Can't find any matching row in the user table。ホストを含めると動作します。SET PASSWORD FOR wordpressuser@localhost = PASSWORD('...');を生成しQuery OK, 0 rows affected (0.00 sec)ます。
ORDER BY 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;
これは大きなテーブルなので、どのフィールドを選択するかをより厳選したい場合があります。
localhost、127.0.0.1および::1。どれを保持する必要があり、何を削除する必要がありますか?ありがとう!
mysqlにrootとしてログインし、次のクエリを入力します
select User from mysql.user;
+------+
| User |
+------+
| amon |
| root |
| root |
+------+
GRANT SELECT ON mysql.user TO 'user1'@'localhost'; ます。user1としてログインし、コマンド select User from mysql.user; を入力します。ユーザーリストが表示されます。:) +1エンジョイ
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 DBを選択していることを確認してください。
use mysql;
select User from mysql.user;
それはあなたのトリックを行う必要があります
use mysql;あなたのようなMySQLデータベースにテーブルがした場合、あなたのスコープで。次のことができますselect User from mysql.user;
use mysql;は、通常は1回限りのクエリなので、select User from user;代わりに使用できるようにするためですselect User from mysql.user;。mysqldbを使用する必要はありません
use mysqlそれを使用した場合はselect user from user;何かがあったかもしれませんが、代わりにをmysql.user使用use mysqlしているため、最初に使用する必要はありません。
$> mysql -u root -p -e 'Select user from mysql.user' > allUsersOnDatabase.txt
Linuxプロンプトでこのコマンドを実行すると、最初にmysql rootユーザーのパスワードが要求されます。正しいパスワードを入力すると、すべてのデータベースユーザーがテキストファイルに出力されます。
DMLとDDL権限に関する追加情報を提供するので、彼の方がより便利である
SELECT user, Select_priv, Insert_priv , Update_priv, Delete_priv,
Create_priv, Drop_priv, Shutdown_priv, Create_user_priv
FROM mysql.user;
SELECT User FROM mysql.user;
上記のクエリを使用してMysqlユーザーを取得する