Let me first explain my scenario,
I have two instance on my local linux box for mysql running on 3306 and 3307 port respectively. I want to get incremental backup
of 3 DB from 3306 and want to restore it on 3307.
Problem is that when i complete the backup & restoring process (using innobackupex) the data directory didn’t contains any .frm files.
Below are the steps which i followed
Taking, Preparing and restoring multiple databases:-
Complete backup:-
innobackupex --defaults-file=/opt/mysql/etc/my.cnf --user=root --password=xxxxx --port=3306 --host=127.0.0.1 --include=test,test_1 /root/sunil/jimit/Percona/data/backups/multiple_db_backups
First Incremental backup:-
→ Create some new tables and add data in those tables:-
innobackupex --defaults-file=/opt/mysql/etc/my.cnf --user=root --password=xxxxx --port=3306 --host=127.0.0.1 --include=test,test_1 --incremental /root/sunil/jimit/Percona/data/backups/multiple_db_incr_backups/first_incremental/ --incremental-basedir=/root/sunil/jimit/Percona/data/backups/multiple_db_backups/2015-03-26_06-27-14
Second Incremental Backup:-
→ Create some new tables and add data in those tables:-
innobackupex --defaults-file=/opt/mysql/etc/my.cnf --user=root --password=xxxxx --port=3306 --host=127.0.0.1 --include=test,test_1 --incremental /root/sunil/jimit/Percona/data/backups/multiple_db_incr_backups/second_incremental/ --incremental-basedir=/root/sunil/jimit/Percona/data/backups/multiple_db_incr_backups/first_incremental/2015-03-20_07-44-43
Preparing multiple backups in order to restore:-
→ Applying logs to main compelete backup:-
innobackupex --defaults-file=/opt/mysql/etc/my.cnf --user=root --password=xxxxx --port=3306 --host=127.0.0.1 --include=test,test_1 --apply-log --redo-only /root/sunil/jimit/Percona/data/backups/multiple_db_backups/2015-03-20_07-30-31
→ Applying logs of first incremental backup to main compelete backup:-
Applying first incremental backup:-
innobackupex --defaults-file=/opt/mysql/etc/my.cnf --user=root --password=xxxxx --port=3306 --host=127.0.0.1 --include=test,test_1 --apply-log /root/sunil/jimit/Percona/data/backups/multiple_db_backups/2015-03-20_07-30-31 --incremental-dir=/root/sunil/jimit/Percona/data/backups/multiple_db_incr_backups/first_incremental/2015-03-20_07-44-43
→ Applying logs of second incremental backup to main compelete backup:-
Applying second incremental backup:-
innobackupex --defaults-file=/opt/mysql/etc/my.cnf --user=root --password=xxxxx --port=3306 --host=127.0.0.1 --include=test,test_1 --apply-log /root/sunil/jimit/Percona/data/backups/multiple_db_backups/2015-03-20_07-30-31 --incremental-dir=/root/sunil/jimit/Percona/data/backups/multiple_db_incr_backups/second_incremental/2015-03-20_07-55-05
Restoring Complete backups for multiple databases prepared with first and second incremental ones:-
→ Stop Mysql service
/etc/init.d/mysqld-5.6.20 stop
→ Make data directory changes in my.cnf file by keeping path of empty data directory folder at 3 places.
→ Make changes wherever there is data directory path in my.cnf file.
Path is /data/multiple_db_datadir/
innobackupex --copy-back --defaults-file=/opt/mysql/etc/my.cnf /root/sunil/jimit/Percona/data/backups/multiple_db_backups/2015-03-20_07-30-31
→ Give permission to mysql user with chmod
chown -R mysql:mysql /data/multiple_db_datadir/mysql/
→ Copy mysql database to new data directory folder where test database resides.
cp -r /data/mysql-5.6-16/mysql /data/multiple_db_datadir/
Again give permission:-
chown -R mysql:mysql /data/multiple_db_datadir/mysql/
→ Start Mysql service and cross check tables of test database.
/etc/init.d/mysqld-5.6.20 start
/opt/mysql/bin/mysql -uroot -pxxxxx -P3307