Restore single table from complete backup
====================================
Pr-requisite: Using percona Xtrabackup
a) echo Starts innobackupex
innobackupex --defaults-file=/u01/app/mysql/$DB_NAME/etc/my.cnf --user=$DB_ROOT_USER --password=$ROOT_USERPSW --apply-log --export $RESTORE_PATH_DIR/
b) echo Create table schema and discard tablespace
mysql -u$DB_ROOT_USER -p$ROOT_USERPSW -D$DB_NAME -e"set FOREIGN_KEY_CHECKS=0;source $TABLESTR_FILE;ALTER TABLE $TABLE_NAME DISCARD TABLESPACE;"
c) echo copy files
cp -p /u99/mysqldata/${DB_NAME}/${BACKUP_DIREC}/${DB_NAME}/$TABLE_NAME.ibd /u99/mysqldata/${DB_NAME}/${BACKUP_DIREC}/${DB_NAME}/$TABLE_NAME.exp /u99/mysqldata/${DB_NAME}/${BACKUP_DIREC}/${DB_NAME}/$TABLE_NAME.cfg /u02/mysqldata/$DB_NAME/data/$DB_NAME/
d) echo change permissions
chown mysql:mysql /u02/mysqldata/$DB_NAME/data/$DB_NAME/$TABLE_NAME.*
chmod 660 /u02/mysqldata/$DB_NAME/data/$DB_NAME/$TABLE_NAME.*
e) echo Import tablespace
mysql -u$DB_ROOT_USER -p$ROOT_USERPSW -D$DB_NAME -e"set FOREIGN_KEY_CHECKS=0;ALTER TABLE $TABLE_NAME IMPORT TABLESPACE;"
Note: To achieve above result, innodb_file_per_table should be enabled.
====================================
Pr-requisite: Using percona Xtrabackup
a) echo Starts innobackupex
innobackupex --defaults-file=/u01/app/mysql/$DB_NAME/etc/my.cnf --user=$DB_ROOT_USER --password=$ROOT_USERPSW --apply-log --export $RESTORE_PATH_DIR/
b) echo Create table schema and discard tablespace
mysql -u$DB_ROOT_USER -p$ROOT_USERPSW -D$DB_NAME -e"set FOREIGN_KEY_CHECKS=0;source $TABLESTR_FILE;ALTER TABLE $TABLE_NAME DISCARD TABLESPACE;"
c) echo copy files
cp -p /u99/mysqldata/${DB_NAME}/${BACKUP_DIREC}/${DB_NAME}/$TABLE_NAME.ibd /u99/mysqldata/${DB_NAME}/${BACKUP_DIREC}/${DB_NAME}/$TABLE_NAME.exp /u99/mysqldata/${DB_NAME}/${BACKUP_DIREC}/${DB_NAME}/$TABLE_NAME.cfg /u02/mysqldata/$DB_NAME/data/$DB_NAME/
d) echo change permissions
chown mysql:mysql /u02/mysqldata/$DB_NAME/data/$DB_NAME/$TABLE_NAME.*
chmod 660 /u02/mysqldata/$DB_NAME/data/$DB_NAME/$TABLE_NAME.*
e) echo Import tablespace
mysql -u$DB_ROOT_USER -p$ROOT_USERPSW -D$DB_NAME -e"set FOREIGN_KEY_CHECKS=0;ALTER TABLE $TABLE_NAME IMPORT TABLESPACE;"
Note: To achieve above result, innodb_file_per_table should be enabled.
No comments:
Post a Comment