DB Discovery
Syntax
CREATE DB_DISCOVERY RULE ruleDefinition [, ruleDefinition] ...
ALTER DB_DISCOVERY RULE ruleDefinition [, ruleDefinition] ...
DROP DB_DISCOVERY RULE ruleName [, ruleName] ...
CREATE DB_DISCOVERY TYPE databaseDiscoveryTypeDefinition [, databaseDiscoveryTypeDefinition] ...
ALTER DB_DISCOVERY TYPE databaseDiscoveryTypeDefinition [, databaseDiscoveryTypeDefinition] ...
DROP DB_DISCOVERY TYPE discoveryTypeName [, discoveryTypeName] ...
CREATE DB_DISCOVERY HEARTBEAT databaseDiscoveryHeartbaetDefinition [, databaseDiscoveryHeartbaetDefinition] ...
ALTER DB_DISCOVERY HEARTBEAT databaseDiscoveryHeartbaetDefinition [, databaseDiscoveryHeartbaetDefinition] ...
DROP DB_DISCOVERY HEARTBEAT discoveryHeartbeatName [, discoveryHeartbeatName] ...
ruleDefinition:
(databaseDiscoveryRuleDefinition | databaseDiscoveryRuleConstruction)
databaseDiscoveryRuleDefinition
ruleName (resources, typeDefinition, heartbeatDefinition)
databaseDiscoveryRuleConstruction
ruleName (resources, TYPE = discoveryTypeName, HEARTBEAT = discoveryHeartbeatName)
databaseDiscoveryTypeDefinition
discoveryTypeName (typeDefinition)
databaseDiscoveryHeartbaetDefinition
discoveryHeartbeatName (PROPERTIES (properties))
resources:
RESOURCES(resourceName [, resourceName] ...)
typeDefinition:
TYPE(NAME=typeName [, PROPERTIES([properties] )] )
heartbeatDefinition
HEARTBEAT (PROPERTIES (properties))
properties:
property [, property] ...
property:
key=value
Parameters Explained
name | DateType | Description |
---|---|---|
discoveryTypeName | IDENTIFIER | Database discovery type name |
ruleName | IDENTIFIER | Rule name |
discoveryHeartbeatName | IDENTIFIER | Detect heartbeat name |
typeName | STRING | Database discovery type, such as: MySQL.MGR |
resourceName | IDENTIFIER | Resource name |
Notes
discoveryType
specifies the database discovery service type,ShardingSphere
has built-in support forMySQL.MGR
- Duplicate
ruleName
will not be created - The
discoveryType
anddiscoveryHeartbeat
being used cannot be deleted - Names with
-
need to use" "
when changing - When removing the
discoveryRule
, thediscoveryType
anddiscoveryHeartbeat
used by thediscoveryRule
will not be removed
Example
When creating a discoveryRule
, create both discoveryType
and discoveryHeartbeat
CREATE DB_DISCOVERY RULE db_discovery_group_0 (
RESOURCES(ds_0, ds_1, ds_2),
TYPE(NAME='MySQL.MGR',PROPERTIES('group-name'='92504d5b-6dec')),
HEARTBEAT(PROPERTIES('keep-alive-cron'='0/5 * * * * ?'))
);
ALTER DB_DISCOVERY RULE db_discovery_group_0 (
RESOURCES(ds_0, ds_1, ds_2),
TYPE(NAME='MySQL.MGR',PROPERTIES('group-name'='246e9612-aaf1')),
HEARTBEAT(PROPERTIES('keep-alive-cron'='0/5 * * * * ?'))
);
DROP DB_DISCOVERY RULE db_discovery_group_0;
DROP DB_DISCOVERY TYPE db_discovery_group_0_mgr;
DROP DB_DISCOVERY HEARTBEAT db_discovery_group_0_heartbeat;
Use the existing discoveryType
and discoveryHeartbeat
to create a discoveryRule
CREATE DB_DISCOVERY TYPE db_discovery_group_1_mgr(
TYPE(NAME='MySQL.MGR',PROPERTIES('group-name'='92504d5b-6dec'))
);
CREATE DB_DISCOVERY HEARTBEAT db_discovery_group_1_heartbeat(
PROPERTIES('keep-alive-cron'='0/5 * * * * ?')
);
CREATE DB_DISCOVERY RULE db_discovery_group_1 (
RESOURCES(ds_0, ds_1, ds_2),
TYPE=db_discovery_group_1_mgr,
HEARTBEAT=db_discovery_group_1_heartbeat
);
ALTER DB_DISCOVERY TYPE db_discovery_group_1_mgr(
TYPE(NAME='MySQL.MGR',PROPERTIES('group-name'='246e9612-aaf1'))
);
ALTER DB_DISCOVERY HEARTBEAT db_discovery_group_1_heartbeat(
PROPERTIES('keep-alive-cron'='0/10 * * * * ?')
);
ALTER DB_DISCOVERY RULE db_discovery_group_1 (
RESOURCES(ds_0, ds_1),
TYPE=db_discovery_group_1_mgr,
HEARTBEAT=db_discovery_group_1_heartbeat
);
DROP DB_DISCOVERY RULE db_discovery_group_1;
DROP DB_DISCOVERY TYPE db_discovery_group_1_mgr;
DROP DB_DISCOVERY HEARTBEAT db_discovery_group_1_heartbeat;
当前内容版权归 ShardingSphere 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ShardingSphere .