mysql 数据被清空了怎么恢复

mysql 数据被清空了怎么恢复,第1张

以下情况可以恢复数据

1 innodb引擎表开启了事务,执行dml语句,比如delete、update、insert之类,并且没有提交即commit *** 作的话,可以执行rollback进行回滚恢复。如果是ddl *** 作,如drop、create、alter之类的 *** 作时无效的

2 在进行删除 *** 作之前有备份,比如mysqldump,物理备份数据文件之类的 *** 作,那么可以恢复到删除前的数据

3 如果你的删除 *** 作是直接对data下的文件进行删除,注意,不是粉碎文件 *** 作,那么你可以尝试用磁盘恢复软件来找回被误删的数据文件;

除以上情况,其他真的是没法恢复了,不过貌似很多公司号称能够恢复,要收费,具体他们怎么恢复我就不晓得了。

    mysql>CREATE DATABASE sakila

    mysql>USE sakila

    mysql>CREATE TABLE actor (

        actor_id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,

        first_name VARCHAR(45) NOT NULL,

        last_name VARCHAR(45) NOT NULL,

        last_update TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,

        PRIMARY KEY  (actor_id),

        KEY idx_actor_last_name (last_name)

      )ENGINE=InnoDB DEFAULT CHARSET=utf8

    ALTER TABLE {库名}.{表名} DISCARD TABLESPACE

    例:

    mysql>ALTER TABLE sakila.actor DISCARD TABLESPACE

    cp /backup_directory/actor.ibd path/to/mysql-5.7/data/sakila/

    ALTER TABLE {库名}.{表名} IMPORT TABLESPACESHOW WARNINGS

    例:

    mysql>ALTER TABLE sakila.actor IMPORT TABLESPACESHOW WARNINGS

    Query OK, 0 rows affected, 1 warning (0.15 sec)

    Warning | 1810 | InnoDB: IO Read error: (2, No such file or directory)

    Error opening './sakila/actor.cfg', will attempt to import

    without schema verification

    mysql>SELECT COUNT(*) FROM sakila.actor

    +----------+

    | count(*) |

    +----------+

    |      200 |

    +----------+


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

原文地址: https://www.outofmemory.cn/zaji/6132593.html

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

发表评论

登录后才能评论

评论列表(0条)

保存