首页 > 解决方案 > 撤销对未在 mysql 活动数据库连接上应用的数据库的访问权限

问题描述

我只想问如何在活动连接上申请授权?目前我正在尝试撤销对活动连接上特定数据库的用户的访问权限,但它不起作用。例如,如果我在数据库foo上撤销 fooUser 的所有权限,如果用户已经有一些活动连接,他仍然可以在数据库上插入/更新/选择,直到他建立新连接......我认为撤销所有权限会杀死活动连接,但似乎没有。

我希望如果我撤销对已连接用户或使用特定数据库的用户的访问权限,他应该以某种方式被“弹出”,但事实并非如此。

标签: mysqlspringconnectionprivilegessql-revoke

解决方案


在 src/main/resources/application.properties 文件中列出以下行以及用于创建与数据库的新连接的数据库 URL、用户名和密码。

spring.jpa.hibernate.ddl-auto=更新

您必须从 create 或 update 开始,因为您还没有数据库结构。当您想对数据库结构进行一些更改时,请使用更新。H2 和其他嵌入式数据库的默认设置是 create-drop。对于其他数据库,例如 MySQL,默认值为 none。

一旦您的数据库处于生产状态,请将其设置为 none,撤销连接到 Spring 应用程序的 MySQL 用户的所有权限,并仅授予 MySQL 用户 SELECT、UPDATE、INSERT 和 DELETE。


推荐阅读