config root man

Current Path : /home/usr.opt/mysql57/mysql-test/suite/ndb_rpl/t/

FreeBSD hs32.drive.ne.jp 9.1-RELEASE FreeBSD 9.1-RELEASE #1: Wed Jan 14 12:18:08 JST 2015 root@hs32.drive.ne.jp:/sys/amd64/compile/hs32 amd64
Upload File :
Current File : //home/usr.opt/mysql57/mysql-test/suite/ndb_rpl/t/ndb_rpl_circular.test

# The include statement below is a temp one for tests that are yet to
#be ported to run with InnoDB,
#but needs to be kept for tests that would need MyISAM in future.
--source include/force_myisam_default.inc

--source include/have_ndb.inc

# set up circular replication
--let $rpl_topology= 1->2->1
--source include/rpl_init.inc

--let $rpl_connection_name= master
--let $rpl_server_number= 1
--source include/rpl_connect.inc

--let $rpl_connection_name= slave
--let $rpl_server_number= 2
--source include/rpl_connect.inc


# create the table on the "slave"
--connection slave
CREATE TABLE t1 (a int key, b int) ENGINE=ndb;
#CREATE TABLE t2 (a int key, b int) ENGINE=ndb;
sync_slave_with_master master;
# now we should have a table on the master as well
SHOW TABLES;

# insert some values on the slave and master
--connection master
INSERT INTO t1 VALUES (1,2);
# Give time to propagate + close epoch, to ensure deterministic Binlog contents
--sleep 1
--connection slave
INSERT INTO t1 VALUES (2,3);

# ensure data has propagated both ways
--connection slave
sync_slave_with_master master;
--sync_slave_with_master

# connect to slave and ensure data it there.
--connection slave
SELECT * FROM t1 ORDER BY a;
#SELECT * FROM t2 ORDER BY a;

# Check slave has no errors and are running
--source include/check_slave_no_error.inc
--source include/check_slave_is_running.inc

--echo Slave Binlog contains all ops as log_slave_updates is on
show variables like 'server_id';
show variables like 'log_bin';
show variables like 'log_slave_updates';
--source include/show_binlog_events.inc

source include/check_slave_is_running.inc;
# connect to master and ensure data it there.
--connection master
SELECT * FROM t1 ORDER BY a;
#SELECT * FROM t2 ORDER BY a;
source include/check_slave_is_running.inc;

--echo Master Binlog contains only Master ops as log_slave_updates is off
show variables like 'server_id';
show variables like 'log_bin';
show variables like 'log_slave_updates';
--source include/show_binlog_events.inc

# stop replication on "master" as not to replicate
# shutdown circularly, eg drop table
--connection master
STOP SLAVE;

# cleanup
--connection master
DROP TABLE t1;
-- sync_slave_with_master

# Test ndb_log_apply_status option

--connection master
start slave;
create table t1 (a int primary key, b int) engine=ndb;
show variables like '%log_orig%';

--echo 'Master' has only slave's serverid entry 
select server_id, log_name from mysql.ndb_apply_status order by server_id;

set global ndb_log_apply_status=On;
show variables like 'ndb_log_apply_status';

--connection slave
--echo 'Slave' has only Master's serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;
--echo 'Slave' has following ndb_binlog_index entries
select inserts, updates, deletes, schemaops, orig_server_id from mysql.ndb_binlog_index order by position;

set global ndb_log_apply_status=On;
show variables like 'ndb_log_apply_status';

--connection master

stop slave;
insert into t1 values (1,1);
--sync_slave_with_master

--connection slave
--echo 'Slave' still has only Master's serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;

--disable_result_log
--source include/wait_for_ndb_committed_to_binlog.inc
--enable_result_log
--echo 'Slave' has following ndb_binlog_index entries
select inserts, updates, deletes, schemaops, orig_server_id from mysql.ndb_binlog_index order by position;

--connection master
--echo 'Master' still has only Slave's serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;

start slave;
--connection slave 
--sync_slave_with_master master

--connection master
--echo 'Master' now has own serverid entry as well.
select server_id, log_name from mysql.ndb_apply_status order by server_id;

--connection slave
--echo 'Slave' still only has 'Master''s serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;
--echo Now create event originating at Slave
insert into t1 values (2,2);
--sync_slave_with_master master

--connection master
--sync_slave_with_master slave

--connection slave
--echo 'Slave' now also has its own serverid entry
select server_id, log_name from mysql.ndb_apply_status order by server_id;


--connection master
stop slave;
set global ndb_log_apply_status=off;

--connection slave
set global ndb_log_apply_status=off;
stop slave;

drop table t1;

--connection master

drop table t1;

--let $rpl_only_running_threads= 1
--source include/rpl_end.inc

Man Man