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

MySQLのすべてのストアドプロシージャにアクセスすることをユーザーに許可するにはどうすればよいですか?


まず、MySQL.user-

テーブルのすべてのユーザーとホストを表示しましょう。
mysql> select user,host from Mysql.user;

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

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

ここで、ユーザーに「Robert」を付与して、MySQLのすべてのストアドプロシージャにアクセスできるようにします-

mysql> GRANT EXECUTE ON web.* TO 'Robert'@'%';

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

Query OK, 0 rows affected (0.24 sec)

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

    まず、すべてのユーザー名とホスト名を表示します- mysql> select user,host from MySQL.user; これにより、次の出力が生成されます- +------------------+-----------+ | user             | host      | +------------------+-----------+ | Bob              | %   &n

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

    このために、以下の構文のようにGRANTSELECTステートメントを使用できます- GRANT SELECT ON *.* TO 'yourUserName'@'yourHostName'; まず、すべてのユーザー名とホストを一覧表示します- mysql> select user,host from mysql.user; これにより、次の出力が生成されます- +------------------+-----------+ | user             |