您的位置 首页 > 娱乐休闲

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

场景

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

准备

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

开始恢复

  • 先利用dbsake通过frm文件恢复表结构
[root@ecs-xxxxxx ~]# ./dbsake frmdump   -- -- 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 ........;
  • 删除刚才新建的表的表空间
ALTER TABLE tags DISCARD TABLESPACE;
  • 将要恢复的文件复制到目标数据库文件夹下
  • windows
ctrl+C   -> ctrl + V------>到目标数据库文件夹
  • linux(注:<database_name> 占位符,表示要表所在的数据库)
cp  /var/lib/mysql/<database_name>  cd /var/lib/mysql/<database_name> chown mysql:mysql 
  • 导入表空间
ALTER TABLE tags IMPORT TABLESPACE;

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

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

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

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“server数据库如何恢复安装,sql,server数据库恢复,sql,server数据库恢复挂起,sql,server,数据库正在恢复”边界阅读