sql >> Base de Datos >  >> RDS >> Mysql

recuperar base de datos mysql de ibdata1

Lo siguiente funcionó para mi:

  • Establezca innodb_force_recovery =1 en su my.cnf

  • Intente y haga que su mysqld se reinicie. De lo contrario, repita el paso n.º 1 e incremente innodb_force_recovery en cada uno hasta que tenga éxito. Use la guía para ayudarlo a comprender lo que sucede cada vez que lo incrementa:http://dev.mysql.com/doc/refman/5.0/en/forcing-innodb-recovery.html

  • Una vez que mysqld se esté ejecutando, intente volcar todas sus bases de datos

  • Si eso no tiene éxito, deberá intentarlo primero en el nivel de la base de datos
  • Si eso no tiene éxito, tendrá que intentarlo en el nivel de la mesa
  • Una vez que uno de ellos sea exitoso y se exporten todas sus bases de datos o todas sus tablas, detenga mysqld

  • Mueva su ib_logfile*> ib_logfile*.bak. Por lo general, se encuentran en su directorio de datos mysql.

  • Si en el primer paso incrementó su innodb_force_recovery => 4, debe configurarlo por debajo de 4. A partir de 5.6.15, una configuración de innodb_force_recovery de 4 o más coloca a InnoDB en modo de solo lectura.

  • Inicie el servidor mysqld

  • Importe sus bases de datos o tablas exportadas

  • Incrementó su innodb_force_recovery => 1

  • Reinicie el servidor mysqld