【问题标题】:Revoke access to a database not applied on mysql active DB Connection撤销对未在 mysql 活动数据库连接上应用的数据库的访问权限
【发布时间】:2021-07-07 21:00:34
【问题描述】:
我只想问如何在活动连接上应用授权?目前,我正在尝试撤销对活动连接上特定数据库的用户的访问权限,但它不起作用。例如,如果我在数据库 foo 上撤销 fooUser 的所有权限,如果用户已经有一些活动连接,他仍然可以在数据库上插入/更新/选择,直到他建立新连接.. . 我以为撤销所有权限会杀死活动连接,但似乎不是。
我希望如果我撤销对已连接或使用特定数据库的用户的访问权限,他应该以某种方式被“弹出”,但事实并非如此。
【问题讨论】:
标签:
mysql
spring
connection
privileges
sql-revoke
【解决方案1】:
在 src/main/resources/application.properties 文件中,列出以下行以及用于创建与数据库的新连接的数据库 URL、用户名和密码。
spring.jpa.hibernate.ddl-auto=update
您必须从 create 或 update 开始,因为您还没有数据库结构。当您想对数据库结构进行一些更改时,请使用更新。 H2 和其他嵌入式数据库的默认设置是 create-drop。对于其他数据库,如 MySQL,默认为 none。
一旦您的数据库处于生产状态,请将其设置为 none,撤销连接到 Spring 应用程序的 MySQL 用户的所有权限,并仅授予 MySQL 用户 SELECT、UPDATE、INSERT 和 DELETE。