如何利用innobackupex备份集恢复指定库
这篇文章主要介绍如何利用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步
以上是“如何利用innobackupex备份集恢复指定库”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!
本文标题:如何利用innobackupex备份集恢复指定库
文章来源:http://ybzwz.com/article/pdggod.html