Error number: MY-011002; Symbol: ER_DD_UPGRADE_FAILED_TO_FETCH_TABLES; SQLSTATE: HY000
Message: Error in fetching list of tables.
错误说明
MY-011002,是MySQL中的一个错误码,表示“升级失败,获取表失败”,该错误码位于SQLSTATE为HY000下。
出现该错误,通常是因为MySQL在执行ALTER TABLE语句时失败导致的,因此要解决这个问题,首先要检查ALTER TABLE 语句是否正确。
常见案例
例一:
最近,某一用户在MySQL数据库下运行了一个ALTER TABLE 语句,却收到了以上错误代码,这个ALTER TABLE 语句的原代码如下:
ALTER TABLE `test_db`
ADD COLUMN `column1` INTEGER AFTER `column2`
此时,后来发现这个SQL语句有一处错误——“column2”没有被正确声明,正确的语句应该是:
ALTER TABLE `test_db`
ADD COLUMN `column1` INTEGER AFTER `column3`
例二:
另一位用户在访问MySQL时,报出了如上错误码,此时用户使用的是MySQL8,但是原先的MySQL版本只有5.7,而用户在尝试升级到MySQL8时,由于某些原因,导致了升级失败,所以导致了此时报出的错误码。
解决方法
例一:
在例一中,由于SQL语句语法有误,所以经过纠正之后,重新运行ALTER TABLE 语句,就可以解决此问题。
例二:
在例二中,由于MySQL升级不成功,所以这个时候需要确认当前的MySQL版本是否正确,如果正确,可以重新尝试升级MySQL。此外,也可以重新建立MySQL数据库,另单建立MySQL8版本的数据库,并且将原先的数据库数据导入到新建的数据库中。