mirror of
https://github.com/MariaDB/server.git
synced 2025-01-20 14:02:32 +01:00
f6682e2743
Moved .progress files into the log directory Moved 'cluster' database tables into the MySQL database, to not have 'cluster' beeing a reserved database name Fixed bug where mysqld got a core dump when trying to use a table created by MySQL 3.23 Fixed some compiler warnings Fixed small memory leak in libmysql Note that this doesn't changeset doesn't include the new mysqldump.c code required to run some tests. This will be added when I merge 5.0 to 5.1
104 lines
3.3 KiB
Text
104 lines
3.3 KiB
Text
--source include/have_ndb.inc
|
|
--source include/ndb_default_cluster.inc
|
|
--source include/not_embedded.inc
|
|
--source include/have_binlog_format_row.inc
|
|
--source include/master-slave.inc
|
|
|
|
#
|
|
# Currently test only works with ndb since it retrieves "old"
|
|
# binlog positions with mysql.binlog_index and apply_status;
|
|
#
|
|
|
|
# stop the save
|
|
--connection slave
|
|
STOP SLAVE;
|
|
CREATE DATABASE ndbsynctest;
|
|
USE ndbsynctest;
|
|
|
|
# get some data on the master
|
|
--connection master
|
|
CREATE DATABASE ndbsynctest;
|
|
USE ndbsynctest;
|
|
CREATE TABLE t1 (c1 BIT(1) NOT NULL, c2 BIT(1) NOT NULL, c3 CHAR(15), PRIMARY KEY(c3)) ENGINE = NDB ;
|
|
INSERT INTO t1 VALUES (1,1,"row1"),(0,1,"row2"),(1,0,"row3"),(0,0,"row4");
|
|
CREATE TABLE t2 (c1 CHAR(15), c2 BIT(1) NOT NULL, c3 BIT(1) NOT NULL, PRIMARY KEY(c1)) ENGINE = NDB ;
|
|
INSERT INTO t2 VALUES ("ABC",1,1),("BCDEF",0,1),("CD",1,0),("DEFGHIJKL",0,0);
|
|
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
|
SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
|
|
|
|
# take a backup on master
|
|
--source include/ndb_backup.inc
|
|
|
|
# update a row
|
|
UPDATE t1 SET c2=0 WHERE c3="row2";
|
|
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
|
|
|
# restore on slave, first check that nothing is there
|
|
--connection slave
|
|
|
|
# we should have no tables
|
|
SHOW TABLES;
|
|
|
|
--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT_SLAVE" -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT_SLAVE" -b $the_backup_id -n 2 -r -e --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
|
|
|
|
#
|
|
# BUG#11960
|
|
# prior to bugfix "DROP DATABASE" would give a warning since
|
|
# the events were not created by ndb_restore
|
|
#
|
|
DROP DATABASE ndbsynctest;
|
|
CREATE DATABASE ndbsynctest;
|
|
USE ndbsynctest;
|
|
--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT_SLAVE" -b $the_backup_id -n 1 -m -r --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_TOOLS_DIR/ndb_restore --no-defaults --ndb-connectstring="localhost:$NDBCLUSTER_PORT_SLAVE" -b $the_backup_id -n 2 -r -e --print --print_meta $NDB_BACKUP_DIR/BACKUP/BACKUP-$the_backup_id >> $NDB_TOOLS_OUTPUT
|
|
|
|
# continue test
|
|
SHOW TABLES;
|
|
|
|
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
|
SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
|
|
|
|
#
|
|
# now setup replication to continue from last epoch
|
|
--source include/ndb_setup_slave.inc
|
|
--connection slave
|
|
START SLAVE;
|
|
|
|
#
|
|
#
|
|
#
|
|
--connection master
|
|
--sync_slave_with_master
|
|
--connection slave
|
|
--replace_result $MASTER_MYPORT MASTER_PORT
|
|
--replace_column 1 <Slave_IO_State> 7 <Read_Master_Log_Pos> 8 <Relay_Log_File> 9 <Relay_Log_Pos> 16 <Replicate_Ignore_Table> 22 <Exec_Master_Log_Pos> 23 <Relay_Log_Space> 33 <Seconds_Behind_Master>
|
|
SHOW SLAVE STATUS;
|
|
|
|
SELECT hex(c1),hex(c2),c3 FROM t1 ORDER BY c3;
|
|
SELECT hex(c2),hex(c3),c1 FROM t2 ORDER BY c1;
|
|
|
|
#
|
|
# Cleanup
|
|
#
|
|
|
|
--connection master
|
|
DROP DATABASE ndbsynctest;
|
|
--sync_slave_with_master
|
|
--connection slave
|
|
STOP SLAVE;
|
|
|
|
#
|
|
# Test some replication commands
|
|
#
|
|
--connection master
|
|
reset master;
|
|
# should now contain nothing
|
|
select * from mysql.binlog_index;
|
|
|
|
--connection slave
|
|
reset slave;
|
|
# should now contain nothing
|
|
select * from mysql.apply_status;
|
|
|
|
# End 5.1 Test
|