Last active
June 1, 2022 17:39
-
-
Save altmannmarcelo/cd2259c1cfc1be5f8834279d91febd6c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
start_server | |
backup_dir=$topdir/xb_export_backup | |
rm -rf $backup_dir | |
mkdir $backup_dir | |
mysql -e 'CREATE TABLE test1(a int, b int, PRIMARY KEY (a), KEY (b DESC))' test | |
mysql -e 'CREATE TABLE test2(a int, b int, PRIMARY KEY (a), KEY (b ASC))' test | |
mysql -e "INSERT INTO test1 VALUES(1,2)" test | |
mysql -e "INSERT INTO test1 VALUES(2,2)" test | |
mysql -e "INSERT INTO test1 VALUES(3,2)" test | |
mysql -e "INSERT INTO test2 VALUES(1,2)" test | |
mysql -e "INSERT INTO test2 VALUES(3,2)" test | |
checksum_1_1=`checksum_table test test1` | |
rowsnum_1_1=`${MYSQL} ${MYSQL_ARGS} -Ns -e "select count(*) from test1" test` | |
vlog "rowsnum_1_1 is $rowsnum_1_1" | |
vlog "checksum_1_1 is $checksum_1_1" | |
checksum_2_1=`checksum_table test test2` | |
rowsnum_2_1=`${MYSQL} ${MYSQL_ARGS} -Ns -e "select count(*) from test2" test` | |
vlog "rowsnum_2_1 is $rowsnum_2_1" | |
vlog "checksum_2_1 is $checksum_2_1" | |
xtrabackup --datadir=$mysql_datadir --backup --target-dir=$backup_dir --tables="^test[.]test[1|2]" | |
stop_server | |
rm -rf ${MYSQLD_DATADIR} | |
start_server | |
mysql -e 'CREATE TABLE test1(a int, b int, PRIMARY KEY (a), KEY (b DESC))' test | |
mysql -e 'CREATE TABLE test2(a int, b int, PRIMARY KEY (a), KEY (b ASC))' test | |
mysql -e "alter table test1 discard tablespace;" test | |
mysql -e "alter table test2 discard tablespace;" test | |
xtrabackup --datadir=$mysql_datadir --prepare --export \ | |
--target-dir=$backup_dir | |
run_cmd cp $backup_dir/test/test* $mysql_datadir/test/ | |
mysql -e "alter table test1 import tablespace" test | |
mysql -e "alter table test2 import tablespace" test | |
checksum_1_2=`checksum_table test test1` | |
rowsnum_1_2=`${MYSQL} ${MYSQL_ARGS} -Ns -e "select count(*) from test1" test` | |
vlog "rowsnum_1_2 is $rowsnum_1_2" | |
vlog "checksum_1_2 is $checksum_1_2" | |
checksum_2_2=`checksum_table test test2` | |
rowsnum_2_2=`${MYSQL} ${MYSQL_ARGS} -Ns -e "select count(*) from test2" test` | |
vlog "rowsnum_2_2 is $rowsnum_2_2" | |
vlog "checksum_2_2 is $checksum_2_2" | |
if [ "$checksum_1_1" != "$checksum_1_2" ] | |
then | |
vlog "Checksum test1 are not equal" | |
exit -1 | |
fi | |
if [ "$checksum_2_1" != "$checksum_2_2" ] | |
then | |
vlog "Checksum test2 are not equal" | |
exit -1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment