利用innobackupex備份集恢復指定庫
1.源庫匯出表結構
mysqldump -uroot -p --no-data zabbix > info.sql
2.建立要恢復的庫、表
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.庫中的表進行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檔案複製到資料目錄下並修改許可權:
cp *.ibd /opt/app/mysql/mysql5722/data/zabbix/
chown -R mysql.mysql /opt/app/mysql/mysql5722/data/zabbix/*
6.庫中的表進行import tablespace
mysql> select concat('alter table ',table_name,' import tablespace;') from information_schema.tables where table_schema = 'zabbix';
如果報錯: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後,要重新進行第5步
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31544156/viewspace-2374677/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql innobackupex增量備份恢復MySql
- innobackupex備份恢復實戰
- 【MySql】innobackupex增量備份和恢復MySql
- MySQL innobackupex全量備份恢復MySql
- 【MySql】innobackupex 增量備份和恢復MySql
- mysql之 Innobackupex(全備+增量)備份恢復MySql
- Xtrabackup之innobackupex備份恢復詳解薦
- 使用innobackupex線上增量備份和再增量備份及恢復mysql資料庫MySql資料庫
- 備份與恢復--利用備份的控制檔案恢復
- 【備份恢復】從備份恢復資料庫資料庫
- 【備份恢復】利用 備份控制檔案到指定目錄下的控制檔案 恢復控制檔案
- INNOBACKUPEX的全備和增量備份恢復學習筆記筆記
- 詳解叢集級備份恢復:物理細粒度備份恢復
- Percona XtraBackup 2.4 innobackupex全量、增量備份恢復流程
- 備份與恢復:polardb資料庫備份與恢復資料庫
- RAC環境利用備份恢復RAC資料庫(五)資料庫
- RAC環境利用備份恢復RAC資料庫(四)資料庫
- RAC環境利用備份恢復RAC資料庫(三)資料庫
- RAC環境利用備份恢復RAC資料庫(二)資料庫
- RAC環境利用備份恢復RAC資料庫(一)資料庫
- 利用備份的控制檔案恢復
- mysql 利用binlog增量備份、恢復MySql
- 【備份恢復】noarchive模式下使用增量備份恢復資料庫Hive模式資料庫
- innobackupex 備份MySQL資料庫MySql資料庫
- RMAN備份恢復——備份集儲存位置改變
- Elasticsearch叢集的備份與恢復Elasticsearch
- 使用innobackupex恢復mysql資料庫MySql資料庫
- SQL Server 備份與恢復之六:介質集與備份集SQLServer
- RMAN備份恢復——備份到帶庫的效能
- 【管理篇備份恢復】備份恢復基礎
- 使用innobackupex備份mysql資料庫MySql資料庫
- RMAN備份恢復整個庫
- Oracle備份恢復之熱備份恢復及異機恢復Oracle
- 將RAC備份集恢復為單例項資料庫單例資料庫
- 【備份恢復】在 ARCHIVELOG 模式下執行資料庫還原和恢復操作(源庫備份源庫恢復)Hive模式資料庫
- 02 . MongoDB複製集,分片集,備份與恢復MongoDB
- 單例項備份集恢復到RAC單例
- 單例項環境利用備份恢復RAC資料庫(四)單例資料庫