sql >> Database >  >> RDS >> Mysql

herstel mysql-database van ibdata1

Het volgende werkte voor mijn:

  • Stel innodb_force_recovery =1 in in uw my.cnf

  • Probeer uw mysqld opnieuw op te starten. Als dit niet het geval is, herhaal dan stap #1 en incrementinnodb_force_recovery met elk totdat het is gelukt. Gebruik de gids om u te helpen begrijpen wat er gebeurt elke keer dat u het verhoogt:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html

  • Zodra mysqld actief is, probeert u al uw databases te dumpen

  • Als dat niet lukt, moet je het eerst op databaseniveau proberen
  • Als dat niet lukt, moet je het op tafelniveau proberen
  • Zodra een van deze succesvol is en al uw db's of al uw tabellen zijn geëxporteerd, stopt u de mysqld

  • Verplaats je ib_logfile*> ib_logfile*.bak. Deze bevinden zich meestal in uw mysql-gegevensmap.

  • Als u in de eerste stap uw innodb_force_recovery => 4 hebt verhoogd, moet u deze onder 4 instellen. Vanaf 5.6.15 plaatst een innodb_force_recovery-instelling van 4 of hoger InnoDB in alleen-lezen modus.

  • Start de mysqld-server

  • Importeer uw geëxporteerde databases of tabellen

  • Uw innodb_force_recovery => 1

    . verhoogd
  • Start de mysqld-server opnieuw



  1. PostgreSQL samengestelde primaire sleutel

  2. MySQL Fulltext met een bepaalde woordvolgorde

  3. Een IN-clausule gebruiken met MySQL met opgegeven waarden

  4. Hoe bouw je een hybrid_method die het aantal records van de afgelopen X dagen telt?