加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

如何利用innobackupex备份集恢复指定库

发布时间:2022-01-12 12:16:35 所属栏目:MySql教程 来源:互联网
导读:这篇文章主要介绍如何利用innobackupex备份集恢复指定库,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! 1.源库导出表结构 mysqldump -uroot -p --no-data zabbix info.sql 2.创建要恢复的库、表 mysql create database zabbix c
     这篇文章主要介绍如何利用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备份集恢复指定库”这篇文章的所有内容,感谢各位的阅读!

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!