前一段時間我必須重新安裝MySQL,之前我已經將/var/lib/mysql/mydatabase
移動到另一個目錄以便能夠在安裝MySQL之後恢復它。 我安裝了MySQL之後,我移回了這個目錄。當我去到mysql控制檯並使用重新安裝MySQL之後恢復數據庫
SHOW DATABASES;
它返回數據庫列表,'mydatabase'列表中。 當我切換到使用「MyDatabase的」,並使用
SHOW TABLES;
它顯示錶的列表,但是當我做任何SELECT命令我得到這個錯誤:
ERROR 1146 (42S02): Table 'mydatabase.mytable1' doesn't exist
從一開始 - 是它足以備份只有/var/lib/mysql/<DATABASE_NAME>
來恢復數據庫數據或我錯過了什麼?如果是的話,我可以嘗試解決這個問題'表不存在'?
MySQL的版本是5.7,操作系統是Ubuntu的16.04
當你錯過了ibdata1文件(並且一個好主意也會是ib_logfile {0,1}),並且你的表是InnoDB引擎(這是自5.6 IIRC以來的默認引擎)時,那麼你幾乎搞砸了,特別是當你沒有設置'innodb-file-per-table'時。 – fancyPants
@fancyPants'innodb-file-per-table'一直設置爲1,但關於ibdata1 - 是的,我沒有保存它,所以你認爲沒有機會恢復數據? – XZen
這裏你去:https://dba.stackexchange.com/questions/57120/recover-mysql-database-from-data-folder-without-ibdata1-from-ibd-files – fancyPants