Unofficial, No mess, No thrills, No fluff, No Explanation, Absolutely No Guarantee, Ruff and Gruff howto fix MySQL Databases

- Make a temp directory to work in

cd /root
mkdir mysql_tmp
cd mysql_tmp

- Locate the database, ussualy a directory in /var/mysql or /var/lib/mysql

ls -la /var/mysql/_database_name_


- Stop the mysql service, might be called mysql, might be called mysqld
service mysql stop

- Create backup

mkdir _database_name_.backup
cp -a /var/mysql/_database_name_/* /root/mysql_tmp/_database_name_.backup

- Restart MySQL

service mysql start

- Make a backup of the backup to work with so you can try different fixes

mkdir _database_name_.work
cp -a /root/mysql_tmp/_database_name_.backup/* /root/mysql_tmp/_database_name_.work

- Try to repair database, see detailed instructions at http://dev.mysql.com/doc/refman/5.0/en/myisamchk.html for advanced options

cd /root/mysql_tmp/_database_name_.work
myisamchk --recover *.MYI

- Test current fix

service mysql stop
cp -a /root/mysql_tmp/_database_name_.work/* /var/mysql/_database_name_/
service mysql start

- If fail go back to the first backup, sent to the second backup and try again woth more advanced options. If all else fails, restore from the last known good backup. Any suggestions welcome!