Admin-Ahead Community

Linux => General Linux => Topic started by: Aby on December 14, 2013, 11:27:29 pm

Title: Steps to repair and recover innodb db if corrupted
Post by: Aby on December 14, 2013, 11:27:29 pm



Follow below step by step procedure to repair and recover innodb db if corrupted

********************************************************
I) Add this line to your /etc/my.cnf configuration file:
[mysqld]
innodb_force_recovery = 4

II) Restart Mysql now. Database should start, but with innodb_force_recovery in my.cnf all Insert and Update operation will be ignored.

III) Mysqldump all databases.
#mysqldump -A > dump.sql

NOTE: It is better to take dump of individual dbs

if the dump fails create a copy of current /var/lib/mysql directory
#cp -pr /var/lib/mysql /var/lib/mysql_bak

IV) Shutdown database and delete the data directory (better if you move it) and execute mysql_install_db from shell to create MySQL default tables.
#mysql_install_db

V) Remove the "innodb_force_recovery" line from your /etc/my.cnf file and restart the database.

VI) Restore everything from your backup except default 'mysql' database. For restoring the prvious user db privileges do the following.
#cp -rp /var/lib/mysql_bak/mysql /var/lib/mysql/oldmsqldb
#mysqldump oldmysqldb user > oldmysqldb_user.sql
#mysql mysql user < /var/lib/mysql/oldmysqldb_user.sql **********************************************************
Ref: http://www.softwareprojects.com/resources/programming/t-how-to-fix-mysql-database-myisam-innodb-1634.html http://webscholar.net/2010/11/07/repair-innodb-corruption-on-cpanel-mysql-server/

====