MySQLコマンドラインユーティリティを使用しており、データベース内を移動できます。次に、ユーザーアカウントのリストを表示する必要があります。これどうやってするの?
MySQLバージョンを使用しています5.4.1
。
MySQLコマンドラインユーティリティを使用しており、データベース内を移動できます。次に、ユーザーアカウントのリストを表示する必要があります。これどうやってするの?
MySQLバージョンを使用しています5.4.1
。
回答:
このクエリを使用します。
SELECT User FROM mysql.user;
これは次のようなテーブルを出力します:
+-------+
| User |
+-------+
| root |
+-------+
| user2 |
+-------+
Matthew Scharley がこの回答のコメントで指摘しているUser
ように、一意のユーザー名のみを表示したい場合は、列でグループ化できます。
User
ごとに別々の行があるので、一意のユーザー値のみを取得するために、グループ化も必要になると思います。user
host
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ユーザーを取得する