如何防止MySQL中用户访问特定模式?

如何防止MySQL中用户访问特定模式?

要防止用户访问特定模式,您需要使用delete命令。以下是语法−

DELETE FROM mysql.db WHERE Db IN("yourSpecificSchema","yourSpecificSchema\_%")
   AND User = "yourUserName" AND Host = "yourHostName";

让我们实现上述语法以防止用户访问特定模式。首先,让我们从MySQL.user表中显示所有用户和主机。

mysql> select user,host from MySQL.user;

这将生成以下输出−

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| 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 |
+------------------+-----------+
18 rows in set (0.00 sec)

在这里,我们将阻止主机名为“localhost”的用户“Chris”访问一个名为“sample”的特定模式−

mysql> DELETE FROM mysql.db WHERE Db IN("sample","sample\_%") AND User="Chris" AND Host="localhost";
Query OK, 0 rows affected (0.00 sec)

执行上述查询后,您需要使用FLUSH。

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.06 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程