MySql:Table 'database.TABLE_ONE' doesn't exist


1. 問題描述

  由於最近使用本地的MySQL奔潰了,在修改管理員密碼時,不慎修改錯誤,導致無法重新寫會,甚至按照MySQL官網手冊都無法修改正確,遂放棄修改root密碼,直接將一個未有數據的純凈版MySQL復制到原文件夾下,將之前的數據(即MySQL目錄下的data文件復制到對應的目錄下),但是出現了一個問題。

  如下:

  mysql> SHOW TABLES;
  +-----------------------+
  | Tables_in_database    |
  +-----------------------+
  | TABLE_ONE             |
  | TABLE_TWO             |
  | TABLE_THREE           |
  +-----------------------+
  mysql> SELECT * FROM TABLE_ONE;
  ERROR 1146 (42S02): Table 'database.TABLE_ONE' doesn't exist

 

  即:展示數據庫下的表時,是可以展示出來的,但當要搜索表中的數據時會提示如上的ERROR, 報找不到表的錯誤。

 

2.思路

  因為是直接把原有數據庫中的數據(data)復制過來的,應該是某個或者某些的配置文件或者中間件沒有對應的復制過來,所以就找對應的配置文件,一同復制過來。

 

3.解決方法

  對應的配置文件最后自己沒有找出來,在google上找到了相應的帖子,思路基本正確。

  需要復制的文件為:ib*  的文件,如 ibdata1ib_logfile0 和 ib_logfile1 ,將這些文件復制到文件下,問題解決,可以查找表中的數據。

 

 

 4. 參考鏈接

  https://stackoverflow.com/questions/7759170/mysql-table-doesnt-exist-but-it-does-or-it-should

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM