您好,登錄后才能下訂單哦!
這篇文章主要介紹如何利用innobackupex備份集恢復(fù)指定庫,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
1.源庫導(dǎo)出表結(jié)構(gòu)
mysqldump -uroot -p --no-data zabbix > info.sql
2.創(chuàng)建要恢復(fù)的庫、表
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> use zabbix;
mysql> source info.sql
3.查看外鍵約束
mysql> SELECT @@FOREIGN_KEY_CHECKS;
+----------------------+
| @@FOREIGN_KEY_CHECKS |
+----------------------+
| 1 |
+----------------------+
1 row in set (0.00 sec)
查看要遷移的表是否有外鍵約束:
mysql> select * from information_schema.TABLE_CONSTRAINTS where table_schema = 'zabbix' and constraint_type = 'FOREIGN KEY';
如果有的話,禁用外鍵:
mysql> SET FOREIGN_KEY_CHECKS=0;
Query OK, 0 rows affected (0.00 sec)
4.庫中的表進(jìn)行discard tablespace
mysql> select concat('alter table ',table_name,' discard tablespace;') from information_schema.tables where table_schema = 'zabbix';
mysql> alter table acknowledges discard tablespace;
Query OK, 0 rows affected (0.00 sec)
mysql> alter table actions discard tablespace;
Query OK, 0 rows affected (0.00 sec)
......
然后重新啟用外鍵約束:
mysql> SET FOREIGN_KEY_CHECKS=1;
Query OK, 0 rows affected (0.00 sec)
5.將apply-log后的備份集中表的ibd文件拷貝到數(shù)據(jù)目錄下并修改權(quán)限:
cp *.ibd /opt/app/mysql/mysql5722/data/zabbix/
chown -R mysql.mysql /opt/app/mysql/mysql5722/data/zabbix/*
6.庫中的表進(jìn)行import tablespace
mysql> select concat('alter table ',table_name,' import tablespace;') from information_schema.tables where table_schema = 'zabbix';
如果報(bào)錯:ERROR 1808 (HY000): Schema mismatch (Table has ROW_TYPE_DYNAMIC row format, .ibd file has ROW_TYPE_COMPACT row format.)
則修改表的row_format:
mysql> select concat('alter table ',table_name,' row_format=compact;') from information_schema.tables where table_schema = 'zabbix';
注意:修改表的row_format后,要重新進(jìn)行第5步
以上是“如何利用innobackupex備份集恢復(fù)指定庫”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。