Shadow
Usage
Pre-work
- Start the MySQL service
- Create MySQL database (refer to ShardingProxy data source configuration rules)
- Create a role or user with creation permission for ShardingProxy
- Start Zookeeper service (for persistent configuration)
Start ShardingProxy
- Add
mode
andauthentication
configurations toserver.yaml
(please refer to the example of ShardingProxy) - Start ShardingProxy (Related introduction)
Create a distributed database and sharding tables
- Connect to ShardingProxy
- Create a distributed database
CREATE DATABASE shadow_db;
- Use newly created database
USE shadow_db;
- Configure data source information
ADD RESOURCE ds_0 (
HOST=127.0.0.1,
PORT=3306,
DB=ds_0,
USER=root,
PASSWORD=root
),ds_1 (
HOST=127.0.0.1,
PORT=3306,
DB=ds_1,
USER=root,
PASSWORD=root
),ds_2 (
HOST=127.0.0.1,
PORT=3306,
DB=ds_2,
USER=root,
PASSWORD=root
);
- Create shadow rule
CREATE SHADOW RULE group_0(
SOURCE=ds_0,
SHADOW=ds_1,
t_order((simple_note_algorithm, TYPE(NAME=SIMPLE_NOTE, PROPERTIES("shadow"="true", foo="bar"))),(TYPE(NAME=COLUMN_REGEX_MATCH, PROPERTIES("operation"="insert","column"="user_id", "regex"='[1]')))),
t_order_item((TYPE(NAME=SIMPLE_NOTE, PROPERTIES("shadow"="true", "foo"="bar")))));
- Alter shadow rule
ALTER SHADOW RULE group_0(
SOURCE=ds_0,
SHADOW=ds_2,
t_order_item((TYPE(NAME=SIMPLE_NOTE, PROPERTIES("shadow"="true", "foo"="bar")))));
- Drop shadow rule
DROP SHADOW RULE group_0;
- Drop resource
DROP RESOURCE ds_0,ds_1,ds_2;
- Drop distributed database
DROP DATABASE shadow_db;
Notice
- Currently,
DROP DATABASE
will only remove thelogical distributed database
, not the user’s actual database. DROP TABLE
will delete all logical fragmented tables and actual tables in the database.CREATE DATABASE
will only create alogical distributed database
, so users need to create actual databases in advance .
当前内容版权归 ShardingSphere 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ShardingSphere .