1 找个别的机器安装个同版本的mysql或从已安装同版本的其他机器上(非同版本的也可以试下):
拷贝 mysql/data/mysql 目录到你的mysql/data/ 下吧
2 试着启动mysql服务,如果能启动了,理论上应该丢失的只有用户、授权等一些系统信息,不影响你的使用的数据;
如果不能启动,看错误日志,争取启动了。
3 赶紧把数据备份一份出来,重新把所有库(只是你后来创建的业务相关的库,不包括mysql库)都删了,重新导入一遍。理论上不这样也可以,但只是非生产重要的环境下。
4 重新做用户授权。
ORACLE
有备份的话 可以恢复
如果只是删除 了表里的数据的话
select from syssmon_scn_time;
--scn 与时间的对应关系
每隔5分钟,系统产生一次系统时间标记与scn的匹配并存入syssmon_scn_time表。
select from student as of scn 592258
就可以看到在这个检查点的表的历史情况。
然后我们恢复到这个检查点
insert into student select from student as of scn 592258 where id not in (select id from student)
select from v$transaction ---没有提交的事务。
select from flashback_transaction_query; ---回滚事务。 他有一列是 undo_sql 得到他就可以回滚刚才提交的事务。
select from FLASHBACK_TRANSACTION_QUERY a
where astart_timestamp between to_date('2008-12-7 14:40:56','yyyy-MM-dd HH24:mi:ss') and
to_date('2008-12-7 14:59:56','yyyy-MM-dd HH24:mi:ss');
不论是insert delete update 都可以把committ 了的事务给回滚了
一:表的恢复
对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的。一般步骤有:
1、从flash back里查询被删除的表
select from recyclebin
2执行表的恢复
flashback table tb to before drop,这里的tb代表你要恢复的表的名称。
二:表数据恢复
对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有:
1、先从flashback_transaction_query视图里查询,视图提供了供查询用的表名称、事务提交时间、UNDO_SQL等字段。
如:select from flashback_transaction_query where
table_name='TEST';
2、执行表记录恢复
一般先根据时间进行查询,查询语句模式为select from tb as of timestamp
to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名称,time指某个时间点
如select from scotttest as of timestamp to_timestamp('2009-12-11
20:53:57','yyyy-mm-dd hh24:mi:ss');
若有数据,恢复极为简单了,语句为flashback table tb to timestamp
to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');
如flashback table scotttest to timestamp to_timestamp('2009-12-11
20:47:30','yyyy-mm-dd hh24:mi:ss');
注意:alter table testvarchar enable row movement;
这个命令的作用是,允许Oracle 修改分配给行的rowid。在Oracle
中,插入一行时就会为它分配一个rowid,而且这一行永远拥有这个rowid。闪回表处理会对EMP
完成DELETE,并且重新插入行,这样就会为这些行分配一个新的rowid。要支持闪回就必须允许Oracle 执行这个 *** 作
数据库唯一标识,即使记录删除了,但是数据库还是有记忆功能,就像即使你把硬盘上的文件或者文件夹shift+delete彻底删除后,一样可以通过软件来恢复这些文件。不过数据库的恢复我没偿试过。可能有这种软件
ACCESS自动编号如何恢复从1开始的方法(1)
重置单个表中的“自动编号”字段:要重置“自动编号”字段值,可以使用方法 1 或方法 2。
方法 1
可以重置“自动编号”字段值,使其与表中的一个字段相对应。为此,请按照下列步骤 *** 作:
1 从主表中删除“自动编号”字段。记下“自动编号”字段名称。
2 在左窗格中单击“查询”。在右窗格中双击“在设计视图中创建查询”。
3 在“显示表”对话框中,选择主表。单击“添加”,然后单击“关闭”。
4 在主表的表视图中双击所需字段,以选择该字段。
5 选择需要的“排序”顺序。
6 在“查询”菜单中,单击“生成表查询”。在“表名称”文本框中键入新的表名称,然后单击“确定”。
7 在“查询”菜单上,单击“运行”。
8 将显示带有以下文本的对话框:“您正准备向新表粘贴 # 行。”单击“是”以插入行。
9 在“文件”菜单上,单击“关闭”。单击“否”关闭“生成表查询”窗口。
10 在左窗格中单击“表”。右键单击新表,然后单击“设计视图”。
11 在表的“设计”视图中,添加与步骤 1 中删除的字段名称相同的“自动编号”字段。将此“自动编号”字段添加到新表中,然后保存该表。
12 关闭“设计”视图窗口。
13 重命名主表。将新表名称重命名为主表名称。
方法 2
也可以使用方法 2 来重置“自动编号”字段值,请按照下列步骤 *** 作:
1 从主表中删除“自动编号”字段。记下“自动编号”字段名称。
2 复制主表的结构,然后创建新表。
3 在左窗格中单击“查询”。在右窗格中单击“在设计视图中创建查询”。
4 在“显示表”对话框中,选择主表。单击“添加”,然后单击“关闭”。
5 要选择字段,请双击需要的字段。在主表的“表”视图中对除了“自动编号”字段外的所有字段进行此 *** 作。
6 在“查询”菜单上,单击“追加查询”。这将更改查询类型。
7 从“表名称”列表中,选择您在步骤 1 中创建的新表。单击“确定”。
8 在“查询”菜单上,单击“运行”。
9 将显示带有以下文本的对话框:“您正准备追加 # 行。”单击“是”将行追加到新表中。
10 在“文件”菜单上,单击“关闭”。单击“否”关闭“追加查询”窗口。
11 在左窗格中单击“表”。右键单击新表,然后单击“设计视图”。
12 在表的“设计”视图中,添加与步骤 1 中删除的字段名称相同的“自动编号”字段。将此“自动编号”字段添加到新表中,然后保存该表。
13 关闭“设计”视图窗口。
14 重命名主表。将新表名称重命名为主表名称。
重置带引用表的表中的“自动编号”字段
下面的步骤说明如何为具有引用表的表重置“自动编号”字段。如果有多个引用表,则必须对每个引用表执行下列步骤。
1 删除表之间的关系。
2 将主表的“自动编号”字段设为数字数据类型。删除主键。
3 在主表中创建数据类型为“自动编号”的新字段。保存该表。
4 在引用表中创建数据类型为数字的新字段。保存该表。
5 要创建更新查询,以将引用表中的新字段更新为主表中的新“自动编号”字段,请按照下列步骤 *** 作:
a 在左窗格中单击“查询”。在右窗格中单击“在设计视图中创建查询”。这将创建新查询。
b 在“显示表”对话框中,选择主表和引用表。单击“添加”来添加主表和引用表。单击“关闭”。
c 单击主表中以前链接到引用表的字段。使用拖放功能将该字段放到引用表中以前链接的字段上。这样将在这两个表之间创建基于原始链接字段的联接。
d 在“查询”菜单上,单击“更新查询”。
e 双击引用表中的新字段,将其添加到字段列表中。
f 在“更新到”字段中,键入 [主表名][新自动编号字段],以更新引用表中的新字段值。
g 在“查询”菜单上,单击“运行”。
h 将显示带有以下文本的对话框:“您正准备更新 # 行。”单击“是”将行追加到新表中。
i 在“文件”菜单上,单击“关闭”。单击“否”关闭“更新查询”窗口。
6 从主表和引用表中删除原始链接字段。
7 将新“自动编号”字段重命名为原始名称。
8 重新创建主键以及表之间的关系。
此过程重置“自动编号”字段,然后用正确的键值更新引用表。
ACCESS自动编号从1开始-如何让access自动编号重新从1开始排序的方法(2)
方法一:
删个那个自动编号的字段,再建一个同样的自动编号字段即可。
方法二:
自动编号是一直增加的(每次都加1),你再增加一条记录它的编号会在前面的基础上加1(删除的也算),如果你编号为1的记录被删除了,你想再要从1开始,可以打开Access数据库,选择工具,再选择数据库实用工具,单击压缩和修复数据库,这样就OK了
方法三:(没试过)
1、在access里新建一个查询。
2、把视图改为sql视图。
3、在里面输入
ALTER TABLE 表名 ALTER COLUMN [自动编号字段名] COUNTER (你要的初始值, 1)
例如:
ALTER TABLE [user] ALTER COLUMN [id] COUNTER (1001, 1)
4、运行后,编号就从1001开始了。
以上就是关于mysql数据库表数据删除能恢复吗全部的内容,包括:mysql数据库表数据删除能恢复吗、如果数据库的数据被你不小心删了 怎样恢复啊、oracle安装目录被删后恢复了,数据库里面表和数据是否还在等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)