drop table if exists t1; # # create a table with some data with and without binlogging # create table t1 (a int key, b int) engine ndb; insert into t1 values (1,1); # # reset and restore schema drop table t1; reset master; show tables; Tables_in_test t1 # # restore and _no_ binlog # # check the binlog, should be empty apart from our marker # create dummy table to wait for to ensure Binlog contains any previous events create table binlogmarker (a int) engine=ndb; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info mysqld-bin.000001 # Query 1 # use `test`; create table binlogmarker (a int) engine=ndb # # reset and restore schema again drop table binlogmarker; drop table t1; reset master; show tables; Tables_in_test t1 # # restore and binlog should now happen as well as the marker # # check the binlog, should contain data # create dummy table to wait for to ensure Binlog contains any previous events create table binlogmarker (a int) engine=ndb; show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info mysqld-bin.000001 # Query 1 # BEGIN mysqld-bin.000001 # Table_map 1 # table_id: # (test.t1) mysqld-bin.000001 # Table_map 1 # table_id: # (mysql.ndb_apply_status) mysqld-bin.000001 # Write_rows 1 # table_id: # mysqld-bin.000001 # Write_rows 1 # table_id: # flags: STMT_END_F mysqld-bin.000001 # Query 1 # COMMIT mysqld-bin.000001 # Query 1 # use `test`; create table binlogmarker (a int) engine=ndb drop table binlogmarker, t1; # # Now more complex using "BANK schema" including restore of log # CREATE DATABASE IF NOT EXISTS BANK; DROP DATABASE BANK; CREATE DATABASE BANK default charset=latin1 default collate=latin1_bin; USE BANK; CREATE TABLE GL ( TIME BIGINT UNSIGNED NOT NULL, ACCOUNT_TYPE INT UNSIGNED NOT NULL, BALANCE INT UNSIGNED NOT NULL, DEPOSIT_COUNT INT UNSIGNED NOT NULL, DEPOSIT_SUM INT UNSIGNED NOT NULL, WITHDRAWAL_COUNT INT UNSIGNED NOT NULL, WITHDRAWAL_SUM INT UNSIGNED NOT NULL, PURGED INT UNSIGNED NOT NULL, PRIMARY KEY USING HASH (TIME,ACCOUNT_TYPE)) ENGINE = NDB; CREATE TABLE ACCOUNT ( ACCOUNT_ID INT UNSIGNED NOT NULL, OWNER INT UNSIGNED NOT NULL, BALANCE INT UNSIGNED NOT NULL, ACCOUNT_TYPE INT UNSIGNED NOT NULL, PRIMARY KEY USING HASH (ACCOUNT_ID)) ENGINE = NDB; CREATE TABLE TRANSACTION ( TRANSACTION_ID BIGINT UNSIGNED NOT NULL, ACCOUNT INT UNSIGNED NOT NULL, ACCOUNT_TYPE INT UNSIGNED NOT NULL, OTHER_ACCOUNT INT UNSIGNED NOT NULL, TRANSACTION_TYPE INT UNSIGNED NOT NULL, TIME BIGINT UNSIGNED NOT NULL, AMOUNT INT UNSIGNED NOT NULL, PRIMARY KEY USING HASH (TRANSACTION_ID,ACCOUNT)) ENGINE = NDB; CREATE TABLE SYSTEM_VALUES ( SYSTEM_VALUES_ID INT UNSIGNED NOT NULL, VALUE BIGINT UNSIGNED NOT NULL, PRIMARY KEY USING HASH (SYSTEM_VALUES_ID)) ENGINE = NDB; CREATE TABLE ACCOUNT_TYPE ( ACCOUNT_TYPE_ID INT UNSIGNED NOT NULL, DESCRIPTION CHAR(64) NOT NULL, PRIMARY KEY USING HASH (ACCOUNT_TYPE_ID)) ENGINE = NDB; # # reset, restore and binlog should _not_ happen reset master; select count(*) from TRANSACTION; count(*) 3444 show binlog events from ; Log_name Pos Event_type Server_id End_log_pos Info DROP DATABASE BANK;