› 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 · 3044 views
    This topic created in 2267 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   ·   Privacy   ·   Solana   ·   2329 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 06:52 · PVG 14:52 · LAX 23:52 · JFK 02:52
    ♥ Do have faith in what you're doing.