Mysql数据库的表不见了

Mysql数据库的表不见了,第1张

这种复制黏贴来进行数据库备份恢复会有问题的,

要想使用拷贝粘贴的方法备份数据库,必须满足如下几个要求:

1,所有表均为MyISAM

2,无论是备份还是恢复时,均要停掉mysql服务

3,删除 ib_logfile0,ib_logfile1等文件

这种方法适用范围:

1,简单的数据库应用。没有用到视图,存储过程触发器等高级功能

2,不要求数据库实时在线的应用或者本机开发程序

3,数据量非常大,通过sql文件导入导出困难的时候

情况1、如果你有该库的整体备份或对这个表的单独备份,那么也许可以恢复。可以将最新的备份恢复到一个备用的服务器上,导出那表的内容,完成恢复

情况2、如果没有任何备份,那就基本没戏了。一般删除表的 *** 作是drop table,日志中不会记录删除具体行数的记录。表所对应目录下的文件已经被删除(innodb独立表空间,单表归为一文件)。同样的情况适用于myisam数据库引擎,对应的myd/myi/frm文件均被删除。这不像windows还有垃圾箱,是不可逆的 *** 作

1 找个别的机器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的也可以试下):

拷贝 mysql/data/mysql 目录到你的mysql/data/ 下吧

2 试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据;

如果不能启动,看错误日志,争取启动了。

3 赶紧把数据备份一份出来,重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非生产重要的环境下。

4 重新做用户授权。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6151045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-16
下一篇 2023-03-16

发表评论

登录后才能评论

评论列表(0条)

保存