sql >> Databáze >  >> RDS >> Mysql

obnovit databázi mysql z ibdata1

Pro mě fungovalo následující:

  • Nastavte innodb_force_recovery =1 v my.cnf

  • Zkuste restartovat svůj mysqld. Pokud ne, opakujte krok #1 a incrementinnodb_force_recovery každým, dokud nebude úspěšný. Použijte průvodce, který vám pomůže pochopit, co se děje při každém zvýšení:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html

  • Jakmile mysqld běží, zkuste vypsat všechny databáze

  • Pokud to nebude úspěšné, budete to muset nejprve vyzkoušet na úrovni databáze
  • Pokud to nebude úspěšné, budete to muset zkusit na úrovni stolu
  • Jakmile je jeden z nich úspěšný a buď všechny vaše databáze nebo všechny vaše tabulky jsou exportovány, zastavte mysqld

  • Přesuňte svůj ib_logfile*> ib_logfile*.bak. Ty jsou obvykle ve vašem datovém adresáři mysql.

  • Pokud jste v prvním kroku zvýšili hodnotu innodb_force_recovery => 4, musíte ji nastavit pod hodnotu 4. Od 5.6.15 nastavení innodb_force_recovery na 4 nebo více umístí InnoDB do režimu pouze pro čtení.

  • Spusťte server mysqld

  • Importujte své exportované databáze nebo tabulky

  • Zvýšil se váš innodb_force_recovery => 1

  • Restartujte server mysqld



  1. Zřetězit a seskupit více řádků v Oracle

  2. Provádění spojení napříč více heterogenními databázemi, např. PostgreSQL a MySQL

  3. Pochopení uváznutí v MySQL a PostgreSQL

  4. SQL UPDATE v hodnosti SELECT nad větou oddílu