如何使用MySQL授予对服务器上所有数据库中所有表的所有表的SELECT?

为此,您可以按照以下语法使用GRANT SELECT语句-

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

首先列出所有用户名以及主机-

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)

这是实现GRANT SELECT的查询-

GRANT SELECT ON *.* TO 'hbstudent'@'localhost';