The REGISTER STORAGE UNIT syntax is used to register storage unit for the currently selected logical database.
RegisterStorageUnit ::=
'REGISTER' 'STORAGE' 'UNIT' ifNotExists? storageUnitsDefinition (',' checkPrivileges)?
storageUnitsDefinition ::=
storageUnitDefinition (',' storageUnitDefinition)*
storageUnitDefinition ::=
storageUnitName '(' ('HOST' '=' hostName ',' 'PORT' '=' port ',' 'DB' '=' dbName | 'URL' '=' url) ',' 'USER' '=' user (',' 'PASSWORD' '=' password)? (',' propertiesDefinition)?')'
ifNotExists ::=
'IF' 'NOT' 'EXISTS'
storageUnitName ::=
identifier
hostname ::=
string
port ::=
int
dbName ::=
string
url ::=
string
user ::=
string
password ::=
string
propertiesDefinition ::=
'PROPERTIES' '(' key '=' value (',' key '=' value)* ')'
key ::=
string
value ::=
literal
checkPrivileges ::=
'CHECK_PRIVILEGES' '=' privilegeType (',' privilegeType)*
privilegeType ::=
identifier
use command to successfully select a database;storageUnitName is case-sensitive;storageUnitName needs to be unique within the current database;storageUnitName name only allows letters, numbers and _, and must start with a letter;PROPERTIES is optional, used to customize connection pool properties, key must be the same as the connection pool
property name;CHECK_PRIVILEGES can be specified to check privileges of the storage unit user. The supported types of privilegeType are SELECT, XA, PIPELINE, and NONE. The default value is SELECT. When NONE is included in the type list, the privilege check is skipped.REGISTER STORAGE UNIT ds_0 (
HOST="127.0.0.1",
PORT=3306,
DB="db_0",
USER="root",
PASSWORD="root"
);
REGISTER STORAGE UNIT ds_1 (
HOST="127.0.0.1",
PORT=3306,
DB="db_1",
USER="root",
PASSWORD="root",
PROPERTIES("maximumPoolSize"=10)
);
REGISTER STORAGE UNIT ds_2 (
URL="jdbc:mysql://127.0.0.1:3306/db_2?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",
USER="root",
PASSWORD="root",
PROPERTIES("maximumPoolSize"=10,"idleTimeout"=30000)
);
ifNotExists clauseREGISTER STORAGE UNIT IF NOT EXISTS ds_0 (
HOST="127.0.0.1",
PORT=3306,
DB="db_0",
USER="root",
PASSWORD="root"
);
SELECT, XA and PIPELINE privileges when registeringREGISTER STORAGE UNIT ds_3 (
URL="jdbc:mysql://127.0.0.1:3306/db_3?serverTimezone=UTC&useSSL=false&allowPublicKeyRetrieval=true",
USER="root",
PASSWORD="root",
PROPERTIES("maximumPoolSize"=10,"idleTimeout"=30000)
), CHECK_PRIVILEGES=SELECT,XA,PIPELINE;
REGISTER, STORAGE, UNIT, HOST, PORT, DB, USER, PASSWORD, PROPERTIES, URL, CHECK_PRIVILEGES
