203 lines
5.2 KiB
Plaintext
203 lines
5.2 KiB
Plaintext
--source include/have_multi_ndb.inc
|
|
--source suite/ndb/include/backup_restore_setup.inc
|
|
|
|
#
|
|
# The table structures are as follows:
|
|
# CREATE TABLE t1 (
|
|
# c1 INT PRIMARY KEY AUTO_INCREMENT,
|
|
# c2 INT UNSIGNED NOT NULL,
|
|
# c3 FLOAT,
|
|
# c4 VARCHAR(255),
|
|
# c5 TIME,
|
|
# c6 DATE,
|
|
# c7 DATETIME,
|
|
# c8 BLOB,
|
|
# c9 CHAR(30),
|
|
# c10 VARBINARY(255),
|
|
# UNIQUE KEY xc2(c2)
|
|
# ) ENGINE NDB;
|
|
#
|
|
# INSERT INTO t1 VALUES(1,1,2.5,'a','23:59:59','2018-01-30','2018-01-30 13:46:00','b','c','d');
|
|
#
|
|
# CREATE TABLE t2 (
|
|
# c1 int PRIMARY KEY,
|
|
# c2 int GENERATED ALWAYS AS (c1*c1)
|
|
# ) ENGINE NDB;
|
|
#
|
|
# INSERT INTO t2(c1) VALUES(2);
|
|
#
|
|
# CREATE TABLE t3 (
|
|
# c1 int NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
# c2 varchar(100),
|
|
# c3 varchar(100)
|
|
# ) ENGINE NDB
|
|
# COMMENT="NDB_TABLE=READ_BACKUP=0,PARTITION_BALANCE=FOR_RP_BY_NODE";
|
|
#
|
|
# INSERT INTO t3 VALUES(1,'a','a');
|
|
#
|
|
|
|
--exec $NDB_RESTORE -b 1 -n 1 -m -r --disable-indexes $NDB_SAVED_BACKUPS/metadata_upgrade_advanced_backup >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_RESTORE -b 1 -n 2 -r $NDB_SAVED_BACKUPS/metadata_upgrade_advanced_backup >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_RESTORE -b 1 -n 1 --rebuild-indexes $NDB_SAVED_BACKUPS/metadata_upgrade_advanced_backup >> $NDB_TOOLS_OUTPUT
|
|
|
|
--echo Backup from 7.5 restored
|
|
|
|
--echo Restart server 1 to trigger schema synchronization
|
|
let $mysqld_name=mysqld.1.1;
|
|
--source include/restart_mysqld.inc
|
|
|
|
connection server2;
|
|
--echo Restart server 2 to trigger schema synchronization
|
|
let $mysqld_name=mysqld.2.1;
|
|
--source include/restart_mysqld.inc
|
|
|
|
# Turn off metadata check so it doesn't intefere with discovery/schema synch
|
|
SET @old_ndb_metadata_check_server2 = @@global.ndb_metadata_check;
|
|
SET GLOBAL ndb_metadata_check = false;
|
|
connection server1;
|
|
SET @old_ndb_metadata_check_server1 = @@global.ndb_metadata_check;
|
|
SET GLOBAL ndb_metadata_check = false;
|
|
|
|
# Check schema and then perform DML and DDL on the tables
|
|
SHOW CREATE TABLE t1;
|
|
--sorted_result
|
|
SELECT * FROM t1;
|
|
|
|
ALTER TABLE t1 DROP COLUMN c9;
|
|
INSERT INTO t1 VALUES (2,2,2.5,'a','23:59:59','2018-01-30','2018-01-30 13:46:00','b','d');
|
|
--sorted_result
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
SHOW CREATE TABLE t2;
|
|
--sorted_result
|
|
SELECT * FROM t2;
|
|
|
|
ALTER TABLE t2 RENAME t4;
|
|
INSERT INTO t4(c1) VALUES (3);
|
|
--sorted_result
|
|
SELECT * FROM t4;
|
|
|
|
DROP TABLE t4;
|
|
|
|
SHOW CREATE TABLE t3;
|
|
--sorted_result
|
|
SELECT * FROM t3;
|
|
|
|
ALTER TABLE t3 ALGORITHM=COPY, ADD COLUMN c4 int;
|
|
INSERT INTO t3 VALUES (2,'b','b',2);
|
|
--sorted_result
|
|
SELECT * FROM t3;
|
|
|
|
DROP TABLE t3;
|
|
|
|
--exec $NDB_RESTORE -b 1 -n 1 -m -r --disable-indexes $NDB_SAVED_BACKUPS/metadata_upgrade_advanced_backup >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_RESTORE -b 1 -n 2 -r $NDB_SAVED_BACKUPS/metadata_upgrade_advanced_backup >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_RESTORE -b 1 -n 1 --rebuild-indexes $NDB_SAVED_BACKUPS/metadata_upgrade_advanced_backup >> $NDB_TOOLS_OUTPUT
|
|
|
|
# Test upgrade of the metadata during discovery from NDB
|
|
SHOW CREATE TABLE t1;
|
|
--sorted_result
|
|
SELECT * FROM t1;
|
|
|
|
ALTER TABLE t1 DROP COLUMN c9;
|
|
INSERT INTO t1 VALUES (2,2,2.5,'a','23:59:59','2018-01-30','2018-01-30 13:46:00','b','d');
|
|
--sorted_result
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
|
|
SHOW CREATE TABLE t2;
|
|
--sorted_result
|
|
SELECT * FROM t2;
|
|
|
|
connection server2;
|
|
SHOW CREATE TABLE t2;
|
|
connection server1;
|
|
|
|
ALTER TABLE t2 RENAME t4;
|
|
INSERT INTO t4(c1) VALUES (3);
|
|
--sorted_result
|
|
SELECT * FROM t4;
|
|
|
|
DROP TABLE t4;
|
|
|
|
SHOW CREATE TABLE t3;
|
|
--sorted_result
|
|
SELECT * FROM t3;
|
|
|
|
ALTER TABLE t3 ALGORITHM=COPY, ADD COLUMN c4 int;
|
|
INSERT INTO t3 VALUES (2,'b','b',2);
|
|
--sorted_result
|
|
SELECT * FROM t3;
|
|
|
|
DROP TABLE t3;
|
|
|
|
# Reset metadata check value
|
|
--connection server2
|
|
SET GLOBAL ndb_metadata_check = @old_ndb_metadata_check_server2;
|
|
--connection server1
|
|
SET GLOBAL ndb_metadata_check = @old_ndb_metadata_check_server1;
|
|
|
|
#
|
|
# Metadata upgrade of a disk data table
|
|
#
|
|
# The table structure is as follows:
|
|
#
|
|
# CREATE LOGFILE GROUP lg1
|
|
# ADD UNDOFILE 'lg1_undofile.dat'
|
|
# INITIAL_SIZE 1M
|
|
# UNDO_BUFFER_SIZE = 1M
|
|
# ENGINE NDB;
|
|
#
|
|
# CREATE TABLESPACE ts1
|
|
# ADD DATAFILE 'ts1_datafile.dat'
|
|
# USE LOGFILE GROUP lg1
|
|
# INITIAL_SIZE 2M
|
|
# ENGINE NDB;
|
|
#
|
|
# CREATE TABLE t1 (
|
|
# a INT PRIMARY KEY,
|
|
# b VARCHAR(255)
|
|
# ) ENGINE NDB
|
|
# TABLESPACE ts1
|
|
# STORAGE DISK;
|
|
#
|
|
# INSERT INTO t1 VALUES (1,'Sad Cypress');
|
|
#
|
|
|
|
--exec $NDB_RESTORE -b 1 -n 1 -m -r --disable-indexes $NDB_SAVED_BACKUPS/metadata_upgrade_disk_data_backup >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_RESTORE -b 1 -n 2 -r $NDB_SAVED_BACKUPS/metadata_upgrade_disk_data_backup >> $NDB_TOOLS_OUTPUT
|
|
--exec $NDB_RESTORE -b 1 -n 1 --rebuild-indexes $NDB_SAVED_BACKUPS/metadata_upgrade_disk_data_backup >> $NDB_TOOLS_OUTPUT
|
|
--echo Backup from 7.6 restored
|
|
|
|
--echo Restart server 1 to trigger schema synchronization
|
|
let $mysqld_name=mysqld.1.1;
|
|
--source include/restart_mysqld.inc
|
|
connection server2;
|
|
--echo Restart server 2 to trigger schema synchronization
|
|
let $mysqld_name=mysqld.2.1;
|
|
--source include/restart_mysqld.inc
|
|
connection server1;
|
|
|
|
# Check schema and then perform DML and DDL on the tables
|
|
SHOW CREATE TABLE t1;
|
|
--sorted_result
|
|
SELECT * FROM t1;
|
|
|
|
ALTER TABLE t1 DROP COLUMN b;
|
|
INSERT INTO t1 VALUES (2);
|
|
--sorted_result
|
|
SELECT * FROM t1;
|
|
|
|
DROP TABLE t1;
|
|
ALTER TABLESPACE ts1
|
|
DROP DATAFILE 'ts1_datafile.dat';
|
|
DROP TABLESPACE ts1;
|
|
DROP LOGFILE GROUP lg1
|
|
ENGINE NDB;
|
|
|
|
let NDB_RESTORE=;
|
|
--remove_file $NDB_TOOLS_OUTPUT
|