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

MySQLを使用するサーバー上のすべてのデータベースのすべてのテーブルでSELECTを付与するにはどうすればよいですか?


このために、以下の構文のようにGRANTSELECTステートメントを使用できます-

GRANT SELECT ON *.* TO 'yourUserName'@'yourHostName';

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

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 |
| Emma             | localhost |
| Jace             | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| Michael          | localhost |
| Mike             | localhost |
| Robert           | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+
26 rows in set (0.00 sec)

GRANTSELECT-

を実装するためのクエリは次のとおりです。
mysql> GRANT SELECT ON *.* TO 'hbstudent'@'localhost';
Query OK, 0 rows affected (0.00 sec)

  1. MySQLで特定の列名を持つテーブルを見つける方法は?

    列名を見つけるには、information_schema.columnsを使用します。以下は構文です- select distinct table_name from information_schema.columns where column_name like '%yourSearchValue%' and table_schema=database(); さまざまなテーブルで列名を見つけるために、上記の構文を実装しましょう。ここでは、特定の列名が「クライアント」という単語を持つテーブル名のみが必要です- mysql> select distinct table_

  2. MySQLを使用してすべてのテーブルに存在する列を識別する方法は?

    列名を識別するには、MySQLでINFORMATION_SCHEMA.COLUMNSを使用します。構文は次のとおりです- select table_name,column_name from INFORMATION_SCHEMA.COLUMNS where table_schema = SCHEMA() andcolumn_name='anyColumnName'; すべてのテーブルに存在する列を識別するために、上記のクエリを実装しましょう。ここでは、列EmployeeAge-の存在を見つけています。 mysql> select table_name,column_na