共計 1819 個字符,預計需要花費 5 分鐘才能閱讀完成。
本篇內容主要講解“怎么解決 Mysql 數據庫提示 innodb 表不存在的問題”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓丸趣 TV 小編來帶大家學習“怎么解決 Mysql 數據庫提示 innodb 表不存在的問題”吧!
發現 mysql 的 error.log 里面有報錯:
InnoDB: Error: Table mysql . innodb_table_stats not found.
InnoDB: Error: Fetch of persistent statistics requested for table hj_web . wechat_res but the required system tables mysql.innodb_table_stats and mysql.innodb_index_stats are not present or have unexpected structure. Using transient stats instead.
那么需重新構建 mysql 這個 databases 的 5 個表:
步驟:
1、登錄數據庫,進入 mysql 庫,執行如下 SQL 刪除 5 張表
記住,一定要是 drop table if exists
mysql use mysql;
mysql drop table if exists innodb_index_stats;
mysql drop table if exists innodb_table_stats;
mysql drop table if exists slave_master_info;
mysql drop table if exists slave_relay_log_info;
mysql drop table if exists slave_worker_info;
執行完后,可以用 show tables 查看一下,看表的數據是否已經比刪除之前減少了,如果減少了,說明你成功了!
2、上一步操作完成后,停止數據庫,并進入到數據庫數據文件所在目錄,刪除上面 5 個表所對應的 idb 文件,如下所示:
# /etc/init.d/mysqld stop
# cd /data/mysql/data/mysql/
# ls -l *.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:17 innodb_index_stats.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:17 innodb_table_stats.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:14 slave_master_info.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:14 slave_relay_log_info.ibd
-rw-rw---- 1 mysql mysql 98304 May 27 14:14 slave_worker_info.ibd
# /bin/rm -rf *.ibd
3、重新啟動數據庫,進入到 mysql 庫,重建上面被刪除的表結構:
數據庫的建表腳本在 mysql 軟件的安裝目錄的 share 目錄下或者 mysql 的安裝包的 script 目錄下,我們這里可以 find 一下:
# find / -name mysql_system_tables.sql
/usr/local/mysql-5.6.29/scripts/mysql_system_tables.sql
# /etc/init.d/mysqld start
mysql use mysql;
mysql source /usr/local/mysql-5.6.29/scripts/mysql_system_tables.sql
mysql show tables;
28 rows in set (0.00 sec)
再隨便 desc 下 5 個的其中一倆個表看看:
mysql desc innodb_table_stats;
mysql desc slave_master_info;
最后再查看 mysql 的 error.log 日志,
確認沒有新的報錯之后,就表示成功。
到此,相信大家對“怎么解決 Mysql 數據庫提示 innodb 表不存在的問題”有了更深的了解,不妨來實際操作一番吧!這里是丸趣 TV 網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!