我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

如何利用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备份集恢复指定库”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何利用Redis实现数据备份与恢复

如何利用Redis实现数据备份与恢复随着大数据时代的到来,数据备份和恢复变得越来越重要。Redis作为一种高性能的内存数据库,不仅可以提供快速的数据访问能力,还可以通过持久化功能实现数据的备份和恢复。本文将介绍如何利用Redis的持久化功能
如何利用Redis实现数据备份与恢复
2023-11-07

如何备份和恢复MySQL数据库

备份和恢复MySQL数据库可以通过多种方式实现,以下是其中一种常用的方法:备份MySQL数据库:使用命令行工具备份数据库:mysqldump -u [用户名] -p [数据库名] > [备份文件路径]使用MySQL Workbench备份
如何备份和恢复MySQL数据库
2024-04-09

如何备份和恢复Oracle数据库

备份和恢复Oracle数据库是非常重要的,以防止数据丢失或损坏。以下是备份和恢复Oracle数据库的步骤:备份Oracle数据库:使用expdp命令导出数据库。可以使用以下命令:expdp username/password@datab
如何备份和恢复Oracle数据库
2024-04-09

如何备份和恢复SQLite数据库

要备份SQLite数据库,可以使用以下方法之一:使用SQLite的备份命令:sqlite3 your_database.db .dump > backup.sql使用SQLite的工具软件:可以使用SQLite的工具软件如DB Brows
如何备份和恢复SQLite数据库
2024-04-09

如何备份和恢复PostgreSQL数据库

备份和恢复PostgreSQL数据库可以通过以下步骤进行:备份数据库:使用pg_dump命令备份数据库,例如:pg_dump -U username -d dbname -f backup.sql如果想备份整个数据库集群,可以使用pg_
如何备份和恢复PostgreSQL数据库
2024-04-09

如何用PL/SQL备份与恢复数据库

备份数据库:创建一个脚本来执行备份操作,例如:CREATE OR REPLACE PROCEDURE backup_database ASBEGINEXECUTE IMMEDIATE ALTER DATABASE BEGIN BACKU
如何用PL/SQL备份与恢复数据库
2024-05-08

SQLite中如何备份和恢复数据库

SQLite提供了两种备份和恢复数据库的方法:使用SQLite命令行工具和使用SQLite的API。使用SQLite命令行工具备份和恢复数据库:备份数据库:sqlite3 original.db .dump > backup.sql恢复数
SQLite中如何备份和恢复数据库
2024-04-09

如何在Oracle中备份和恢复数据库

在Oracle中备份和恢复数据库可以使用以下步骤:备份数据库:使用expdp工具进行全库备份:expdp system/password@SID full=y dumpfile=full_backup.dmp directory=bac
如何在Oracle中备份和恢复数据库
2024-04-09

编程热搜

目录