Mysql

#1146 表 ‘db.tablename’ 不存在

  • September 18, 2019

我將 AMPPS 用於本地主機伺服器目的。我正在本地主機上的一個客戶站點上工作。

前幾天我開始工作時,它突然開始給我這樣的錯誤

在此處輸入圖像描述

表格不存在即使我可以清楚地看到左側欄中的表格,如您在附圖中看到的那樣。

我嘗試了很多網上提到的方法。但我無法解決問題。我不知道那裡到底發生了什麼。

請幫幫我。任何幫助都可以。

謝謝, 馬赫什

我知道這個問題已經有一年了,但考慮到我沒有找到真正的答案,我想我會發布一個答案。在這個答案中,對於遠端伺服器命令,我假設您使用的是基於 Linux Debian 的作業系統。否則最後還有另一個選擇。

這聽起來像是 /var/lib/mysql/ 文件夾中的儲存引擎“ibdata1”文件中的問題。如果未正確複製表,則可能會發生這種情況。因此,即使表在那裡,儲存引擎也無法正確呈現數據庫。

解決此問題的最佳方法是在遠端伺服器上的健康數據庫上執行 mysqldump 並將表恢復回本地數據庫伺服器,反之亦然。因此,如果您在遠端伺服器上具有 root 或 sudo 訪問權限以及您的 mysql 密碼,則可以使用:

$ mysqldump -u root -p *database-name* > *sqlbackupname*.sql
$ Enter mysql password: *your-mysql-password*

這會將您的數據庫轉儲到 .sql 備份中。然後要恢復本地主機上的數據庫,您可以在 linux 終端中執行它:

$ mysql -u root -p *database-you-want-to-restore-to* < *sqlbackupname*.sql

因此,您需要準備好一個數據庫來接收資訊,然後將 mysqldump 中的資訊恢復到該數據庫。mysqldump 將尋找要轉儲到的數據庫。

如果您沒有伺服器訪問權限並且僅使用 phpmyadmin,則最好將健康數據庫從遠端伺服器導出到 .sql 文件中。因此,轉到您的健康數據庫,然後點擊頂部的“導出”按鈕。這將為您提供一些選項並下載到您的電腦上。然後您可以將文件“導入”回本地安裝的 phpmyadmin。只要您使用的是 phpmyadmin,此選項應該適用於任何作業系統。

我希望這對正在尋找這個問題的答案的人有用。

phpmyadmin 已不同步。執行SHOW CREATE TABLE db.tablename是一種更權威的檢查表是否存在的方式。

引用自:https://dba.stackexchange.com/questions/223250