mysql 1146錯誤的解決方法:1、拷貝原來mysql安裝目錄data裡的ibdata1;2、檢查ibdata檔案所屬的使用者和使用者群組是否正確;3、使用「repair table tablename」修復表即可。
本文操作環境: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檔案所屬的使用者和使用者群組是否正確,有可能是權限問題導致。
如果是資料表損壞請嘗試修復表格
mysql影片教學###》###repair table tablename
以上是怎麼解決mysql 1146錯誤問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!