ໂດຍປົກກະຕິ InnoDB Engine ຈະມີການ recovery ຕົວເອງສະເໝີໃນກໍລະນີທີ່ Table ມີບັນຫາແຕ່ກໍມີບາງຄັ້ງທີ່ເປັນການເສຍຫາຍທີ່ຫຼາຍກວ່າລະບົບຈະ recovery ຕົວເອງໄດ້ ສາເຫດທີ່ເຮົາພົບຢູ່ເປັນປະຈໍາກໍຄື Harddisk ຂອງເຊີບເວີເຕັມ ຫຼື ມີການໄປກ່ຽວຂ້ອງກັບໄຟລ lbdata ເຊັ່ນການ copy, ຫຼທໄປເຮັດໃຫ້ມັນເກີດການ lock ຈົນເຮັດໃຫ້ MySQL ຮັບ transaction ເຂົ້າມາແຕ່ Commit ບໍ່ໄດ້ຈົນເຮັດໃຫ້ Crash ໃນທີ່ສຸດ ແລະ ວິທີການສ້ອມແປງ InnoDB Engine ແບ່ງເປັນຂັ້ນຕອນດັ່ງນີ້
1) ເປີດ mode innodb recovery ໃຫ້ກັບ mysql ຈະມີທັງໝົດ 6 mode ແຕ່ລະໂໝດກໍຄືລໍາດັບຂອງຄວາມເສຍຫາຍທີ່ອາດຈະເກີດຂຶ້ນກັບຂໍ້ມູນໃນ Database ແນະນໍາໃຫ້ໄລ່ຕັ້ງແຕ່ 1-6 ຫາກ start mysql ຂຶ້ນທີ່ mode 1 ກໍຖືວ່າໂຊກດີທີ່ສຸດ
2) Dump Database ອອກມາ
3) ລົບ Database ທີ່ເປັນ InnoDB ຖິ້ມທັງໝົດ
4) restore ຂໍ້ມູນກັບຄືນ
5) ເປີດ Mode ປົກກະຕິໃຫ້ກັບ MySQL ເພື່ອໃຫ້ສາມາດໃຊ້ insert , update ໄດ້ ເນື່ອງຈາກ recovery mode ຈະບໍ່ສາມາດ insert , update ຂໍ້ມູນໄດ້
ຂັ້ນຕອນການສ້ອມແປງ InnoDB ໃນ Directadmin
1) ໃຫ້ເພີ່ມ innodb_force_recovery = 1 ເຂົ້າໄປທີ່ໄຟລ /etc/my.cnf ແລະລອງ start service mysql (ຫາກຍັງ start ບໍ່ຂຶ້ນໃຫ້ປ່ຽນເລກໄປເລື້ອຍໆຕັ້ງແຕ່ 1-6)
** ຫາກ MySQL ຍັງສາມາດເຮັດວຽກໄດ້ໃຫ້ຂ້າມຂັ້ນຕອນນີ້ໄປເລີຍ
2 ) Backup ຂໍ້ມູນດ້ວຍການ Dump Database ທັງໝົດອອກມາ
cd /usr/local/directadmin/custombuild ./build update ./build set mysql_backup yes ./build mysql_backup
ໄຟລ sql ທັງໝົດຈະຖືກເກັບໄວ້ທີ່ /usr/local/directadmin/custombuild/mysql_backups ເຂົ້າໄປກວດກາເພື່ອຄວາມແນ່ໃຈກ່ອນຈະເຮັດຂັ້ນຕອນຕໍ່ໄປ
3 ) ປິດ service mysql ແລະ backup folder ຂອງ MySQL ໄວ້ກ່ອນເພື່ອຄວາມໝັ້ນໃຈ ແລະ ລົບ InnoDB ຖິ້ມທັງໝົດ
perl -pi -e 's/mysqld=ON/mysqld=OFF/' /usr/local/directadmin/data/admin/services.status /etc/init.d/mysqld stop cd /var/lib cp -Rp mysql mysql.innodb.backup
ຫຼັງຈາກນັ້ນໃຫ້ເຂົ້າໄປລົບຕາຕະລາງພວກນີ້ຖິ້ມໃຫ້ໝົດ mysql, performance_schema, information_schema ໂດຍເຂົ້າຜ່ານ phpmyadmin ກໍໄດ້ password ສໍາລັບ root access ຈະເກັບໄວ້ທີີ່ໄຟລ /usr/local/directadmin/conf/mysql.conf
ລົບໄຟລທີ່ເກັບຂໍ້ມູນ InnoDB ຖິ້ມທັງໝົດດ້ວຍຄໍາສັ່ງນີ້
cd /var/lib/mysql /etc/init.d/mysqld stop rm -f ib* /etc/init.d/mysqld start perl -pi -e 's/mysqld=OFF/mysqld=ON/' /usr/local/directadmin/data/admin/services.status
cd /usr/local/directadmin/custombuild/mysql_backups wget http://files1.directadmin.com/services/all/mysql/restore_sql_files.sh chmod 755 restore_sql_files.sh ./restore_sql_files.sh
https://help.directadmin.com/item.php?id=559