场景
- 服务器数据库宕机无法重启
- 数据库原始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.文章《“怎么打开数据库服务器“数据库服务器怎么启动》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
相关推荐
- . 现代买票为什么带上携程保险
- . 潮阳怎么去广州南站
- . 湖南马拉河怎么样
- . 烧纸为什么到三岔路口
- . 百色为什么这么热
- . 神州租车怎么样
- . 芜湖方特哪个适合儿童
- . 护肤品保养液是什么类目
- . 早晚的护肤保养有哪些项目
- . 女孩护肤品怎么保养的最好