1)通过 sequoiasql-mysql 实例创建 company 数据库以及数据表 employee,字段为(empno int, ename varchar(128), age int),其中 empno 为主键自增;
mysql -h127.0.0.1 -uroot
create database company;
use company;
create table employee(
empno int auto_increment primary key,
ename varchar(128),
age int
);
2)写入表 company.employee 数据值为(empno:10001, ename:"jacky", age:36);
insert into employee values (10001,"jacky",36);
3)在 sequoiadb shell 中设置事务隔离级别为 rc(读已提交);
sdb
var db=new sdb("localhost",11810);
db.updateconf( { transisolation: 1 }, { global: true } );
4)登录 mysql,开始事务,插入数据(ename:'lazhu', age:22),其中 empno 字段为自增字段,无需填写,执行插入后并提交事务。
begin;
insert into employee(ename,age) values ( "lazhu",22);
commit;
5)开始 mysql 事务,更新 empno:10002 的记录年龄为 20( age:20 )并提交事务;
begin;
update employee set age=20 where empno=10002 ;
commit;
6)关闭 31820 数据节点;
sdbstop -p 31820
sdblist -t all -l -m local
7)开始 mysql 事务,插入数据( empno:10003, ename:'susan', age:32 )并提交事务;
insert into employee values (10003,'susan',32);
8)启动 31820 数据节点;
sdbstart -p 31820
9)修改 11820 数据节点实例 id 为 1,修改 21820 数据节点实例 id 为 2,配置 11810 协调节点读取数据时的读取策略为优先使用数据节点实例 2,
后使用数据节点实例 1 ,重启节点使参数生效;
sdblist -l
sdb
var db = new sdb("localhost", 11810);
db.updateconf( { instanceid: 1 }, { svcname: { "$in": [ "11820" ] } } );
db.updateconf( { instanceid: 2 }, { svcname: { "$in": [ "21820" ] } } );
db.updateconf( { preferedinstance: "2,1", preferedinstancemode: "ordered", preferedstrict: true }, { groupname: "syscoord", svcname: "11810" } );
sdbstop -r data
sdbstart -r data
sdb
var db = new sdb("localhost", 11810);
db.snapshot(sdb_snap_configs, { role: "coord" }, { nodename: "", preferedinstance: "" } );
阅读(835) | 评论(0) | 转发(0) |