V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
jzz22
V2EX  ›  MySQL

MySQL 误删了 undo log 文件,启动失败,有什么办法可以恢复或者跳过 undo tablespaces 正常启动吗?

  •  
  •   jzz22 · Jul 20, 2020 · 2751 views
    This topic created in 2117 days ago, the information mentioned may be changed or developed.

    如题,各位大神有什么解决方法吗?搜了很多都是 oracle 的处理方法

    6 replies    2020-07-21 00:51:03 +08:00
    julyclyde
        1
    julyclyde  
       Jul 20, 2020
    mysql 有 undo log 吗?我记得只有 redo log 啊……
    zollum
        2
    zollum  
       Jul 20, 2020 via Android
    @julyclyde 有的,用于事务回滚和 MVCC
    littlewing
        3
    littlewing  
       Jul 20, 2020
    innodb_force_recovery
    jzz22
        4
    jzz22  
    OP
       Jul 20, 2020
    @littlewing 调成 5,可以正常启动,但是不知道怎么处理,drop 不了 tablespace,重新调成 0 之后又启动失败
    UnknownR
        5
    UnknownR  
       Jul 20, 2020
    握手,我是把 oracle 的 redolog 给删了。。。还好只是开发用的调试数据库,建了个新的
    littlewing
        6
    littlewing  
       Jul 21, 2020
    @jzz22 " In such cases, you can use the innodb_force_recovery option to force the InnoDB storage engine to start up while preventing background operations from running, so that you can dump your tables."
    https://dev.mysql.com/doc/refman/8.0/en/forcing-innodb-recovery.html
    这个参数是用来让你把 mysql 跑起来然后有机会把数据备份出来用的,并不能从根本上解决问题,不过数据能备份出来你再新建一个 mysql 实例导进去不就行了
    需要注意的是这样备份出来的数据不一定是正确的,如果你是在 mysql 运行的时候把 undo 删了,然后又重启了 mysql,那么未提交事物就不能 rollback 了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1044 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 18:16 · PVG 02:16 · LAX 11:16 · JFK 14:16
    ♥ Do have faith in what you're doing.