怎么查看一个数据库里面的表(怎么查询数据库里面的表)
前言
很多时候我们在开发中会使用宝塔面板作为管理工具,将我们的MySql数据库和其他部署环境所需要的软件进行统一管理,这样可以方便地进行这些部署环境运行软件的版本控制。但是也容易造成一个问题,就是在卸载这些软件时,忘记做相应的数据备份,会导致数据丢失。
案例简述
我有一个MySQL5.7.26的数据库,突发异常数据库连接不上,并且使用宝塔管理控制数据库时,面板直接卡死了。这种情况下,无法及时手动备份数据库,于是选择使用宝塔面板卸载数据库,重新安装了一个版本相同的新的数据库。此时我们会发现,我们原来的数据库中的数据库还在,但是表没了。
案例分析
根据上述情况,我们可以发现宝塔卸载MySQL数据库,并没有把我们的数据文件删除,也就是宝塔安装插件目录下的MySQL文件夹下的data文件夹中,对应我们数据库名称的文件夹还存在。
点击进入到某一个数据库中可以看到,每个表都有对应后缀为idb和frm的文件,这个就是我们的表数据,看到这个文件还在,表示我们可以恢复我们的数据
展开全文
产生这些文件的条件是,我们使用宝塔安装好数据库后,正常创建数据库,未修改数据库引擎和其他相关配置,默认采用MySQL InnoDB的存储结构。
数据恢复
1.复制备份MySQL下的data目录中对应数据库文件夹,这一步最好是在我们使用宝塔面板卸载MySQL数据库之前进行,可以真正避免宝塔误删,如果已经卸载了,则更应该及时备份数据库文件夹,这是所有恢复操作的基础。
2.使用宝塔卸载数据库,并且将数据库data文件夹删除(备份完成后删除),避免重新安装数据库时,原来的数据库产生干扰
3.使用宝塔重新安装MySQL,修改root密码,并且创建一个新的数据库
4.使用Navicat连接到数据库
5.如果没有使用宝塔添加数据库,可以在这里添加数据库
6.打开我们的数据库,创建和需要恢复的数据库表名相同的数据库表
7.通过下列SQL语句删除表空间
ALTERTABLE表名 DISCARDTABLESPACE;
8.将恢复操作第一步备份的数据中对应表名的idb文件复制到新建的数据库文件夹中
9.通过下列SQL语句恢复表空间
ALTERTABLE表名IMPORTTABLESPACE;
通过上述操作后,可以在新的数据库表中看到原来的数据表中的数据了