事故原因:
昨天服务器遇到点问题,于是乎重启halo,脑残的我不知道为啥改了一下application.yaml配置,打开了JPA自动建表
jpa:
show-sql: true
hibernate:
ddl-auto: create
database-platform: org.hibernate.dialect.MySQL5Dialect
重启后顺利把所有数据delete干净了。。。进入halo让我开始注册安装。。。卧槽!头皮都麻了,写了大半年的博客啊。。。。
准备恢复数据:
于是立马去mysql的数据目录看了看,果然都被删的干干净净了
-rw-r----- 1 polkitd ssh_keys 25370 May 13 14:42 attachments.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 attachments.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 attachments.MYI
-rw-r----- 1 polkitd ssh_keys 17060 May 13 14:42 categories.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 categories.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 categories.MYI
-rw-r----- 1 polkitd ssh_keys 8724 May 13 14:42 comment_black_list.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 comment_black_list.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 comment_black_list.MYI
-rw-r----- 1 polkitd ssh_keys 17392 May 13 14:42 comments.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 comments.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 comments.MYI
-rw-r----- 1 polkitd ssh_keys 67 Jan 1 17:37 db.opt
-rw-r----- 1 polkitd ssh_keys 13036 May 13 14:32 flyway_schema_history.frm
-rw-r----- 1 polkitd ssh_keys 114688 May 13 14:32 flyway_schema_history.ibd
-rw-r----- 1 polkitd ssh_keys 8792 May 13 14:42 journals.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 journals.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 journals.MYI
-rw-r----- 1 polkitd ssh_keys 17036 May 13 14:42 links.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 links.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 links.MYI
-rw-r----- 1 polkitd ssh_keys 16980 May 13 14:42 logs.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 logs.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 logs.MYI
-rw-r----- 1 polkitd ssh_keys 12970 May 13 14:42 menus.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 menus.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 menus.MYI
-rw-r----- 1 polkitd ssh_keys 12886 May 13 14:42 metas.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 metas.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 metas.MYI
-rw-r----- 1 polkitd ssh_keys 8762 May 13 14:42 options.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 options.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 options.MYI
-rw-r----- 1 polkitd ssh_keys 21182 May 13 14:42 photos.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 photos.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 photos.MYI
-rw-r----- 1 polkitd ssh_keys 8724 May 13 14:42 post_categories.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 post_categories.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 post_categories.MYI
-rw-r----- 1 polkitd ssh_keys 25838 May 13 14:42 posts.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 posts.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 posts.MYI
-rw-r----- 1 polkitd ssh_keys 8714 May 13 14:42 post_tags.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 post_tags.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 post_tags.MYI
-rw-r----- 1 polkitd ssh_keys 12880 May 13 14:42 tags.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 tags.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 tags.MYI
-rw-r----- 1 polkitd ssh_keys 8774 May 13 14:42 theme_settings.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 theme_settings.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 theme_settings.MYI
-rw-r----- 1 polkitd ssh_keys 17104 May 13 14:42 users.frm
-rw-r----- 1 polkitd ssh_keys 0 May 13 14:42 users.MYD
-rw-r----- 1 polkitd ssh_keys 1024 May 13 14:42 users.MYI
然后 立马想到binlog日志,于是去看了看
`
mysql> show variables like '%log_bin%';
+---------------------------------+-------+
| Variable_name | Value |
+---------------------------------+-------+
| log_bin | OFF |
| log_bin_basename | |
| log_bin_index | |
| log_bin_trust_function_creators | OFF |
| log_bin_use_v1_row_events | OFF |
| sql_log_bin | ON |
+---------------------------------+-------+
6 rows in set (0.00 sec)
`
没有Binlog?!突然记起来mysql直接用docker装好后就没管过,恼火!
目前数据库感觉有用的文件只有以下几个
`
-rw-r----- 1 polkitd ssh_keys 2841 May 13 14:34 ib_buffer_pool
-rw-r----- 1 polkitd ssh_keys 79691776 May 13 16:29 ibdata1
-rw-r----- 1 polkitd ssh_keys 50331648 May 13 16:29 ib_logfile0
-rw-r----- 1 polkitd ssh_keys 50331648 May 13 16:29 ib_logfile1
-rw-r----- 1 polkitd ssh_keys 12582912 May 14 09:21 ibtmp1
`
从数据恢复感觉有点困难了
于是乎想到能否从磁盘直接恢复数据,看了下都说extundelete挺好用,但是这工具只适用于ext3/ext4的文件系统,而我的服务器是centos7,默认的是xfs文件系统,可我依旧试了一下,果然没用!
所以最后想跪求各位大佬,
- 根据上面这几个文件可以恢复数据库吗?(目前我没找到恢复方法)
- 服务器是xfs文件系统的centos7,有没有适用于xfs文件系统的数据恢复工具?
- 我看halo中用了flyway数据迁移工具,可否根据 flyway_schema_history.ibd 回复呢?
- 各位大佬是否有其他的解决思路?
谢谢了!