首頁  >  文章  >  資料庫  >  怎麼解決mysql 1146錯誤問題

怎麼解決mysql 1146錯誤問題

藏色散人
藏色散人原創
2021-12-21 16:04:3926802瀏覽

mysql 1146錯誤的解決方法:1、拷貝原來mysql安裝目錄data裡的ibdata1;2、檢查ibdata檔案所屬的使用者和使用者群組是否正確;3、使用「repair table tablename」修復表即可。

怎麼解決mysql 1146錯誤問題

本文操作環境:Windows7系統、Mysql5.7版、Dell G3電腦。

怎麼解決mysql 1146錯誤問題?

mysql 提示表不存在的解決方法error: 1146: Table doesn't exist

#直接拷貝資料庫導致提示表不存在的解決方法

#電腦重裝系統後面把原來的mysql data複製進去後大部分錶是可以存取的,但是有幾個表提示表不存在:

error: 1146: Table 'your_table' doesn't exist

這種情況就是要把原來mysql安裝目錄data裡的ibdata1 也要拷貝過去
INNODB是MYSQL資料庫一種流行的資料庫引擎,支援事務(行級),在企業級應用程式上成為可能。
ibdata用來儲存檔案的數據,而庫名的資料夾裡面的那些表檔案只是結構而已,由於新版的mysql預設試innodb,所以ibdata1檔案預設就存在了,少了這個檔案有的資料表就會出錯。

如果替換ibdata檔案後發現啟動錯誤

[root@localhost data]# service mysql start
Redirecting to /bin/systemctl start  mysql.service
Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
[root@localhost data]# systemctl status mysqld.service
● mysqld.service - LSB: start and stop MySQL
   Loaded: loaded (/etc/rc.d/init.d/mysqld; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2019-01-08 18:12:43 CST; 8s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 11815 ExecStop=/etc/rc.d/init.d/mysqld stop (code=exited, status=0/SUCCESS)
  Process: 13300 ExecStart=/etc/rc.d/init.d/mysqld start (code=exited, status=1/FAILURE)

Jan 08 18:12:40 localhost.localdomain systemd[1]: Starting LSB: start and stop MySQL...
Jan 08 18:12:43 localhost.localdomain mysqld[13300]: Starting MySQL... ERROR! The server quit without updating PID file (/www/server/data/localhost.localdomain.pid).
Jan 08 18:12:43 localhost.localdomain systemd[1]: mysqld.service: control process exited, code=exited status=1
Jan 08 18:12:43 localhost.localdomain systemd[1]: Failed to start LSB: start and stop MySQL.
Jan 08 18:12:43 localhost.localdomain systemd[1]: Unit mysqld.service entered failed state.
Jan 08 18:12:43 localhost.localdomain systemd[1]: mysqld.service failed.

這時候先檢查一下你的ibdata檔案所屬的使用者和使用者群組是否正確,有可能是權限問題導致。

如果是資料表損壞請嘗試修復表格

repair table tablename

#推薦學習:《

mysql影片教學###》###

以上是怎麼解決mysql 1146錯誤問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn