MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで特定のユーザーのすべての許可を表示する


まず、すべてのユーザー名とホスト名を表示します-

mysql> select user,host from MySQL.user;

これにより、次の出力が生成されます-

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| Charlie          | %         |
| Robert           | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| @UserName@       | localhost |
| Adam             | localhost |
| Adam Smith       | localhost |
| Chris            | localhost |
| David            | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| Michael          | localhost |
| Mike             | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+
23 rows in set (0.00 sec)

これは、特定のユーザーのすべての許可を表示するためのクエリです-

mysql> show grants for 'John'@'localhost';

これにより、次の出力が生成されます-

+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Grants for John@localhost                                                                                                                                                                                                                                                                                                                                                              |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `John`@`localhost` |
| GRANT BACKUP_ADMIN,BINLOG_ADMIN,CONNECTION_ADMIN,ENCRYPTION_KEY_ADMIN,GROUP_REPLICATION_ADMIN,PERSIST_RO_VARIABLES_ADMIN,REPLICATION_SLAVE_ADMIN,RESOURCE_GROUP_ADMIN,RESOURCE_GROUP_USER,ROLE_ADMIN,SET_USER_ID,SYSTEM_VARIABLES_ADMIN,XA_RECOVER_ADMIN ON *.* TO `John`@`localhost`                                                                                                  |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.07 sec)

  1. MySQLで特定の番号が含まれている場合は、すべてのレコードを選択しますか?

    このためには、LIKEと一緒にconcat()を使用します。以下は構文です- select *from yourTableName where concat(',', yourColumnName, ',') like '%,yourValue,%'; テーブルを作成しましょう- mysql> create table demo49 −> ( −> id varchar(20) −> , −> first_name varchar(20) −> );

  2. MySQL-特定の番号が含まれている場合はすべてのレコードを選択しますか?

    特定の番号を持つすべてのレコードを選択するには、MySQLでFIND_IN_SET()を使用します。 テーブルを作成しましょう- 例 mysql> create table demo73    -> (    -> interest_id varchar(100),    -> interest_name varchar(100)    -> ); Query OK, 0 rows affected (1.48 挿入コマンド-を使用して、いくつかのレコードをテーブルに挿入します。