1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
# This test upgrades tables from 5.7 to 8.0.x where
# datafiles are not known directories.
# a warning message will be put into the error log
# Stop the running the server
######################################################################
# Unzip a 5.7 datadir with tables where datafiles are at
# unknown directories
# start the server using this directory
######################################################################
######################################################################
# Copy and unzip the datadir.
######################################################################
# Restart the server against the unzipped datadir
# restart: --datadir=DATADIR --innodb-page-size=16k
# Verify tables after upgrade
USE test;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`id` int NOT NULL,
`fname` varchar(30) DEFAULT NULL,
`lname` varchar(30) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 DATA DIRECTORY='../unknown/'
SHOW CREATE TABLE t2;
Table Create Table
t2 CREATE TABLE `t2` (
`c1` int NOT NULL,
PRIMARY KEY (`c1`)
) /*!50100 TABLESPACE `ts2` */ ENGINE=InnoDB DEFAULT CHARSET=latin1 ROW_FORMAT=DYNAMIC
SHOW CREATE TABLE t3;
Table Create Table
t3 CREATE TABLE `t3` (
`id` int DEFAULT NULL,
`purchased` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
/*!50100 PARTITION BY RANGE (year(`purchased`))
SUBPARTITION BY HASH (to_days(`purchased`))
(PARTITION p0 VALUES LESS THAN (1990)
(SUBPARTITION s0 DATA DIRECTORY = '../unknown' ENGINE = InnoDB,
SUBPARTITION s1 DATA DIRECTORY = '../unknown' ENGINE = InnoDB),
PARTITION p1 VALUES LESS THAN (2000)
(SUBPARTITION s2 DATA DIRECTORY = '../unknown' ENGINE = InnoDB,
SUBPARTITION s3 DATA DIRECTORY = '../unknown' ENGINE = InnoDB),
PARTITION p2 VALUES LESS THAN MAXVALUE
(SUBPARTITION s4 DATA DIRECTORY = '../unknown' ENGINE = InnoDB,
SUBPARTITION s5 DATA DIRECTORY = '../unknown' ENGINE = InnoDB)) */
SELECT * FROM t1;
id fname lname
1669 Jim Smith
337 Mary Jones
16 Frank White
2005 Linda Black
SELECT * FROM t2;
c1
16
337
1669
2005
SELECT * FROM t3;
id purchased
4 1970-05-31
1 1980-05-31
5 1985-05-31
2 2090-05-31
3 2012-05-31
6 2006-05-31
# Run some DML statements
INSERT INTO t1 VALUES (207, "Tom", "Kim");
DELETE FROM t2 WHERE c1=337;
UPDATE t3 SET purchased='2001-01-31' WHERE id=6;
# Verify results
SELECT * FROM t1;
id fname lname
1669 Jim Smith
337 Mary Jones
16 Frank White
2005 Linda Black
207 Tom Kim
SELECT * FROM t2;
c1
16
1669
2005
SELECT * FROM t3;
id purchased
4 1970-05-31
1 1980-05-31
5 1985-05-31
2 2090-05-31
3 2012-05-31
6 2001-01-31
# Cleanup
# Shutdown server
# Remove copied files
# Resart the server
# restart
|