恢復 InnoDB
處境艱難。在 Ubuntu 12.04 上執行 MySQL 5.5。為了向我們的內部站點添加一些功能,我安裝了 Kaltura。這樣做時,我現有的 MySQL 數據庫似乎失去了所有數據。數據庫仍然列出,但沒有表。當然,5個月前應該安裝的備份軟體沒有,所以我最近的備份是在弄清楚這個問題後將整個/var/lib/mysql文件夾的副本。根據 ibdata1 文件的大小,我相信一切都還在。
我已經完成了幾個恢復建議,但都沒有什麼效果。最終,mysql 無法啟動,所以我對其進行了全新安裝並複制了我擁有的文件夾,但同樣,mysql 服務不會啟動。不太確定從這裡去哪裡。(是的,我知道,備份,備份,備份)。任何幫助將不勝感激。
謝謝
@RolandoMySQLDBA 編輯 2013-01-11 11:44 EDT
請執行它並粘貼到此行下方
請求#1:
ls -l /var/lib/mysql
請求#2:
cat /etc/my.cnf | grep innodb
請求#3:如果你可以登錄到 mysql,執行
show engines;
回复@RolandoMySQLDBA
請求#1:
ls -l /var/lib/mysql
drwx------ 2 mysql mysql 4096 Jan 11 11:34 asdf -rw-r--r-- 1 mysql mysql 0 Jan 11 11:34 debian-5.1.flag -rw-r--r-- 1 mysql mysql 0 Jan 11 11:34 debian-5.5.flag -rw-r----- 1 mysql mysql 18874368 Jan 11 11:34 ibdata1 -rw-r----- 1 mysql mysql 220200960 Jan 11 11:34 ibdata1.bak -rw-r--r-- 1 mysql mysql 220200960 Jan 11 11:34 ibdata1.recovery -rw-r----- 1 mysql mysql 5242880 Jan 11 11:35 ib_logfile0 -rw-r----- 1 mysql mysql 5242880 Jan 11 11:34 ib_logfile0.bak -rw-r----- 1 mysql mysql 5242880 Jan 11 11:34 ib_logfile1 -rw-r----- 1 mysql mysql 5242880 Jan 11 11:34 ib_logfile1.bak drwx------ 2 mysql mysql 16384 Jan 11 11:34 kaltura drwx------ 2 mysql mysql 167936 Jan 11 11:34 kalturadw drwx------ 2 mysql mysql 4096 Jan 11 11:34 kalturadw_bisources drwx------ 2 mysql mysql 4096 Jan 11 11:34 kalturadw_ds drwx------ 2 mysql mysql 4096 Jan 11 11:34 kalturalog drwx------ 2 mysql mysql 4096 Jan 11 11:34 kaltura_sphinx_log drwx------ 2 mysql mysql 4096 Jan 11 11:34 mysql -rw-r----- 1 mysql mysql 6 Jan 11 11:34 mysql_upgrade_info drwx------ 2 mysql mysql 4096 Jan 11 11:34 performance_schema drwx------ 2 mysql mysql 4096 Jan 11 11:34 phpmyadmin -rw-r----- 1 mysql mysql 4 Jan 11 11:34 ptl-cloud.pid drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptlEquipmentTracker drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptlTestDB drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptlTestDBArchive1 drwx------ 2 mysql mysql 4096 Jan 11 11:34 ptltestdbrec drwx------ 2 mysql mysql 4096 Jan 11 11:34 rawr drwx------ 2 mysql mysql 4096 Jan 11 11:34 test drwx------ 2 mysql mysql 4096 Jan 11 11:34 testing drwx------ 2 mysql mysql 4096 Jan 11 11:34 VirtualStripChart
請求#2:
cat /etc/my.cnf | grep innodb
cat: /etc/my.cnf: No such file or directory
我跑了
cat /etc/mysql/my.cnf | grep innodb
,它跑得很好,沒有回饋請求#3:如果你可以登錄到 mysql,執行
show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | Engine | Support | Comment | Transactions | XA | Savepoints | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+ | MyISAM | YES | MyISAM storage engine | NO | NO | NO | | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO | | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO | | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO | | CSV | YES | CSV storage engine | NO | NO | NO | | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL | | ARCHIVE | YES | Archive storage engine | NO | NO | NO | | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES | | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO | +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
我發現了這個問題。這是使用錯誤 ibdata1 文件的組合,然後我錯誤地將文件複製到 /var/lib/mysql/mysql 文件夾中。解決了這兩個問題後,一切都恢復了正常。
我不明白的是,為什麼事情一開始就壞了?我安裝了 Kaltura,事情壞了,據我所知,最後只是將文件複製並粘貼回 mysql 目錄。所以就好像我什麼都沒改變。
嗯嗯嗯……
但是感謝大家的幫助!這裡的評論和其他相關問題的答案讓我對 InnoDB、備份和文件結構有了更好的理解。謝謝!
-和