溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Mysql innodb錯誤解決 InnoDB: Error: table `mysql`.`innodb_table_stats`

發(fā)布時間:2020-04-07 18:02:17 來源:網(wǎng)絡(luò) 閱讀:4540 作者:crazy_charles 欄目:MySQL數(shù)據(jù)庫

通過ELK監(jiān)控發(fā)現(xiàn),程序連接mysql DB 失敗,通過看程序的log和mysql的error log發(fā)現(xiàn)mysql中出現(xiàn)error

查看Mysql日志

發(fā)現(xiàn) InnoDB: Error: table `mysql`.`innodb_table_stats` does not exist in the InnoDB internal

這個原因很明顯 ,是mysql庫的innodb_table_stats表損壞了。

首先登錄mysql查看表是否存在?   結(jié)果:存在的。 

Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
| func                      |
| general_log               |
| help_category             |
| help_keyword              |
| help_relation             |
| help_topic                |
| innodb_index_stats        |
| innodb_table_stats        |
| ndb_binlog_index          |
| plugin                    |
| proc                      |
| procs_priv                |
| proxies_priv              |
| servers                   |
| slave_master_info         |
| slave_relay_log_info      |
| slave_worker_info         |
| slow_log                  |
| tables_priv               |
| time_zone                 |
| time_zone_leap_second     |
| time_zone_name            |
| time_zone_transition      |
| time_zone_transition_type |
| user                      |


  1. mysql>  show create table innodb_index_stats;  

  2. ERROR 1146 (42S02): Table'mysql.innodb_index_stats' doesn't exist  

  3. mysql>  

猜測是表損壞了,所以打算重新構(gòu)建表


ls  /data/mysql/data/mysql

innodb_table_stats
 innodb_index_stats
 slave_master_info
 slave_relay_log_info
 slave_worker_info

發(fā)現(xiàn)文件存在,所以直接刪除,重新創(chuàng)建。 

rm -rf  :

 innodb_table_stats
 innodb_index_stats
 slave_master_info
 slave_relay_log_info
 slave_worker_info


創(chuàng)建前檢查mysql默認的存儲引擎,如果為MyiSAM ,則在創(chuàng)建的時候,需要指定存儲引擎為INNODB

 source  /usr/local/mysql/share/mysql_system_tables.sql  這個表的時候,請注意默認的存儲引擎是否為innodb.

 個人操作,發(fā)現(xiàn)使用以上source并未能將以上損壞的表進行重新構(gòu)建

嘗試以下操作

1,先看這些表是否還存在,show tables ; 結(jié)果:不存在

      ls  ls  /data/mysql/data/mysql/        結(jié)果:不存在

2,嘗試再次drop table      innodb_table_stats  purge ; (徹底刪除表)

3,手動創(chuàng)建 innodb_table_stats   ,結(jié)果:成功

4,循環(huán)2,3 操作步驟,重新創(chuàng)建以上損壞的表。 


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI