昨天MySQL意外掛了,重啓不成功。而後悲劇的發現,以前作的磁盤快照規則也不知怎麼沒有生效,數據無備份。html
後來諮詢、搜索,結果:mysql
一、能夠配置兩個參數,忽略檢查,啓動,能夠讀數據。而後導出,刪除文件庫文件,重建數據庫,導入數據:sql
innodb_force_recovery=6
innodb_purge_thread=0
上面參數解釋:數據庫
innodb_force_recovery能夠設置爲1-6,大的數字包含前面全部數字的影響。 1. (SRV_FORCE_IGNORE_CORRUPT):忽略檢查到的corrupt頁。 2. (SRV_FORCE_NO_BACKGROUND):阻止主線程的運行,如主線程須要執行full purge操做,會致使crash。 3. (SRV_FORCE_NO_TRX_UNDO):不執行事務回滾操做。 4. (SRV_FORCE_NO_IBUF_MERGE):不執行插入緩衝的合併操做。 5. (SRV_FORCE_NO_UNDO_LOG_SCAN):不查看重作日誌,InnoDB存儲引擎會將未提交的事務視爲已提交。 6. (SRV_FORCE_NO_LOG_REDO):不執行前滾的操做。
參考:http://www.jb51.net/article/66951.htmsocket
二、簡單的備份:spa
mysqldump --socket=/tmp/mysql.sock -uroot -pPASSWORD databasename | gzip > databasename_`date '+%m-%d-%Y'`.sql.gz mysqldump --socket=/tmp/mysql.sock -uroot -pPASSWORD databasename > databasename_`date '+%m-%d-%Y'`.sql
參考:http://www.cnblogs.com/feichexia/p/MysqlDataBackup.html.net