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文件所屬的用戶和用戶組是否正確,有可能是權限問題導致。
如果是數據表損壞請嘗試修復表
repair table tablename
推薦學習:《mysql視頻教程》
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END
喜歡就支持一下吧
相關推薦