数据库恢复保姆级教程,再也不怕数据库服务器宕机了

数据库恢复保姆级教程,再也不怕数据库服务器宕机了场景服务器数据库宕机无法重启数据库原始ddl丢失最重要的:自己随便折腾数据库玩准备拿到数据库恢复文件(frm和ibd文件)服务器下载dbsake

欢迎大家来到IT世界,在知识的湖畔探索吧!

场景

  • 服务器数据库宕机无法重启
  • 数据库原始ddl丢失
  • 最重要的:自己随便折腾数据库玩

准备

  • 拿到数据库恢复文件(frm和ibd文件)
  • 服务器下载dbsake
 curl -s http://get.dbsake.net > dbsake
 chmod u+x dbsake
 ./dbsake --version
 dbsake, version 2.1.0 9525896

欢迎大家来到IT世界,在知识的湖畔探索吧!

开始恢复

  • 先利用dbsake通过frm文件恢复表结构
欢迎大家来到IT世界,在知识的湖畔探索吧![root@ecs-xxxxxx ~]# ./dbsake frmdump tags.frm 
--
-- Table structure for table `tags`
-- Created with MySQL Version 5.7.28
--

CREATE TABLE `tags` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `create_time` datetime(6) DEFAULT NULL,
  `update_time` datetime(6) DEFAULT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(50) NOT NULL,
  `slug_name` varchar(255) DEFAULT NULL,
  `thumbnail` varchar(1023) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `UK_sn0d91hxu700qcw0n4pebp5vc` (`slug`),
  KEY `tags_name` (`name`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
  • 利用上述表结构语句在数据库创建表(直接复制执行上述语句即可)
CREATE TABLE tags ........;
  • 删除刚才新建的表的表空间
欢迎大家来到IT世界,在知识的湖畔探索吧!ALTER TABLE tags DISCARD TABLESPACE;
  • 将要恢复的tags.ibd文件复制到目标数据库文件夹下
  • windows
ctrl+C   -> ctrl + V------>到目标数据库文件夹
  • linux(注:<database_name> 占位符,表示要表所在的数据库)
cp tags.ibd /var/lib/mysql/<database_name> 
cd /var/lib/mysql/<database_name>
chown mysql:mysql tags.ibd
  • 导入表空间
ALTER TABLE tags IMPORT TABLESPACE;

打开表试试吧,中间没啥错误就恢复成功了

有啥问题留言哦,感谢阅读,给个赞谢谢啦

#程序员##MySQL##数据恢复#

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/36880.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信