您可以在PolarDB控制台新增、启用或禁用黑名单规则,同时您还可以修改或删除已有的规则。本文将介绍黑名单规则的概念以及相关的操作步骤。
黑名单规则
Proxy提供的一种拦截能力,您可以通过配置黑名单规则来拦截指定类型的SQL语句或具体的SQL语句。
当前支持通过以下三种方式配置黑名单规则:
- 固定规则模式:在控制台设置的常见的黑名单规则模式,每一种规则可以设定对某个账号以及某个集群生效。当前支持的常见规则请参见表 1。
- 用户自定义SQL参数化模式:该模式支持将您在数据库中执行的SQL语句中的所有变量进行参数化处理,并生成参数化模板记录到数据库中。当执行符合参数化模板的SQL语句时,Proxy会进行拦截。
- 用户自定义具体SQL模式:该模式支持对您指定的具体的SQL语句进行拦截,而不将SQL语句中的变量进行参数化处理,其它任意参数的SQL语句不受该模式影响。
新增黑名单规则
启用或禁用黑名单规则
说明 禁用指定模式创建的黑名单规则时,即使对应的黑名单规则被禁用,其对应数据库中的黑名单表中的SQL语句还是会被保留。如果对应的黑名单再次被启用,同账号的规则还是会生效。如果您想彻底禁用黑名单,可通过超级账号连接到对应集群的主节点,删除
proxy_auditing.sql_list
表中的SQL语句。删除SQL语句后,需要等待5s才会生效。且在进行删除操作时,请勿直接使用DROP
命令删除表。
修改SQL黑名单规则
说明 用户自定义SQL参数化模式规则中的参数化SQL语句,以及用户自定义具体SQL模式规则中的具体SQL语句不支持在控制台修改,只能在数据库表中进行删除后重新添加。
删除黑名单规则
说明 删除指定模式创建的黑名单规则时,即使对应的黑名单规则被删除,其对应数据库中
proxy_auditing.sql_list
表中的SQL语句还是会被保留。如果您想彻底删除黑名单,可通过超级账号连接到对应集群的主节点,删除proxy_auditing.sql_list
表中的SQL语句。删除SQL语句后,需要等待5s才会生效。且在进行删除操作时,请勿直接使用DROP
命令删除表。
取消指定模式黑名单规则
- 用户自定义SQL参数化模式黑名单规则。
您可以通过以下两种方式取消用户自定义SQL参数化模式黑名单规则。
- 通过启用或禁用黑名单规则或删除黑名单规则取消用户自定义SQL参数化模式黑名单规则。
说明 如果仅在控制台禁用该模式的黑名单规则,而没有在数据库中
proxy_auditing.sql_list
表里删除对应的参数化SQL语句,则在控制台再次启用对应账号的该黑名单规则时,该规则仍然会生效。 - 通过您的超级账号连接到Endpoint主节点,删除
proxy_auditing.sql_list
表中相应的SQL语句。等待5s,该参数化SQL语句将不再被拦截。说明 在进行删除操作时,请勿直接使用DROP
命令删除表。
- 通过启用或禁用黑名单规则或删除黑名单规则取消用户自定义SQL参数化模式黑名单规则。
- 用户自定义具体SQL模式黑名单规则。
您可以通过以下两种方式取消用户自定义具体SQL模式黑名单规则。
- 通过启用或禁用黑名单规则或删除黑名单规则取消用户自定义具体SQL模式黑名单规则。
说明 如果仅在控制台禁用该模式的黑名单规则,而没有在数据库中
proxy_auditing.org_sql_list
表里删除对应的SQL语句,则在控制台再次启用对应账号的该黑名单规则时,该规则仍然会生效。 - 通过您的超级账号连接到Endpoint主节点,删除
proxy_auditing.org_sql_list
表中相应的SQL语句。等待5s,该SQL语句将不再被拦截。说明 在进行删除操作时,请勿直接使用DROP
命令删除表。
- 通过启用或禁用黑名单规则或删除黑名单规则取消用户自定义具体SQL模式黑名单规则。