Retro Eye care Haitian Deep Dark Default

DB Discovery

Syntax

CREATE DB_DISCOVERY RULE ruleDefinition [, ruleDefinition] ...

ALTER DB_DISCOVERY RULE ruleDefinition [, ruleDefinition] ...

DROP DB_DISCOVERY RULE ruleName [, ruleName] ...

DROP DB_DISCOVERY TYPE discoveryTypeName [, discoveryTypeName] ...

DROP DB_DISCOVERY HEARTBEAT discoveryHeartbeatName [, discoveryHeartbeatName] ...

ruleDefinition:
    ruleName (storageUnits, typeDefinition, heartbeatDefinition)

storageUnits:
    STORAGE_UNITS(storageUnitName [, storageUnitName] ...)

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
storageUnitName IDENTIFIER Storage unit name

Notes

  • discoveryType specifies the database discovery service type, ShardingSphere has built-in support for MySQL.MGR
  • Duplicate ruleName will not be created
  • The discoveryType and discoveryHeartbeat being used cannot be deleted
  • Names with - must use " " when changing

Example

When creating a discoveryRule, create both discoveryType and discoveryHeartbeat

CREATE DB_DISCOVERY RULE db_discovery_group_0 (
STORAGE_UNITS(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 (
STORAGE_UNITS(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;