mysqldump:Couldn't execute 'show create table `tablename`': Table tablename' doesn't exist (1146)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

遇到了一个错误mysqldump: Couldn't execute 'show create table `CONCURRENCY_ERRORS`': Table INVOICE_OLD.CONCURRENCY_ERRORS' doesn't exist (1146)

###### WARNING ######

Errors reported during AutoMySQLBackup execution.. Backup failed

Error log below..

Error: Couldn't read status information for table CONCURRENCY_ERRORS ()

mysqldump: Couldn't execute 'show create table `CONCURRENCY_ERRORS`': Table INVOICE_OLD.CONCURRENCY_ERRORS' doesn't exist (1146)

Error: Couldn't read status information for table CONCURRENCY_ERRORS ()

mysqldump: Couldn't execute 'show create table `CONCURRENCY_ERRORS`': Table INVOICE_OLD.CONCURRENCY_ERRORS' doesn't exist (1146)

数据库的版本为: 5.5.22-enterprise-commercial-advanced MySQL Enterprise Server - Advanced Edition (Commercial)

如下所示,查询不了该表的定义以及数据(都提示该表不存在),但是使用show table like命令又能看到该表。

mysql> USE INVOICE_OLD;
Database changed
mysql> show tables like '%CONCURRENCY_ERRORS%';
+----------------------------------------------+
| Tables_in_INVOICE_OLD (%CONCURRENCY_ERRORS%) |
+----------------------------------------------+
| CONCURRENCY_ERRORS                           |
+----------------------------------------------+
1 row in set (0.73 sec)
 
mysql> select count(1) from CONCURRENCY_ERRORS;
ERROR 1146 (42S02): Table 'INVOICE_OLD.CONCURRENCY_ERRORS' doesn't exist
mysql> desc CONCURRENCY_ERRORS;
ERROR 1146 (42S02): Table 'INVOICE_OLD.CONCURRENCY_ERRORS' doesn't exist
mysql> 

clip_image001

查看对应表的.frm文件(.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等),如下所示,发现该文件是存在的。

mysql> show variables like '%datadir%';
+---------------+------------------+
| Variable_name | Value            |
+---------------+------------------+
| datadir       | /u01/mysql/data/ |
+---------------+------------------+
1 row in set (0.23 sec)
 
mysql> exit
Bye
-bash-3.2$ cd /u01/mysql/data
-bash-3.2$ ls CONCURRENCY_ERRORS*
CONCURRENCY_ERRORS.frm

Google查了一下资料,发现这个可能是一个bug来的(详情请见链接https://bugs.mysql.com/bug.php?id=65670 ) 因为这个数据库其实早就迁移走,数据库也被我重命名了。检查发现迁移后的数据库里面,该表没有任何数据。于是我尝试从数据库的数据目录删除了CONCURRENCY_ERRORS.frm文件,备份就不会出现这种情况了。但是没有搞清楚这种情况出现的前因后果。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
SQL 关系型数据库 数据库
postgresql报:ERROR: column “i“ of relation “test“ does not exist LINE 1: UPDATE怎么解决?
解决“ERROR: column "i" of relation "test" does not exist”错误的关键在于核实列名的准确性,修正更新语句,确保列名的引用正确无误,并考虑到任何可能影响列名引用的表别名、大小写、特殊字符或动态SQL生成等因素。通过上述步骤,你应该能有效定位并解决问题,保证SQL语句的正确执行。
391 0
|
关系型数据库 MySQL
Mysql 建表时报错 invalid ON UPDATE clause for 'create_date' column
原文:Mysql 建表时报错 invalid ON UPDATE clause for 'create_date' column 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
3333 0
|
关系型数据库 MySQL 数据库
[Err] 1143 - SELECT command denied to user 'XX'@'%' for column 'XXX' in table 'XX'
[Err] 1143 - SELECT command denied to user 'XX'@'%' for column 'XXX' in table 'XX'
284 0
[Err] 1143 - SELECT command denied to user 'XX'@'%' for column 'XXX' in table 'XX'
|
关系型数据库 MySQL
Mysql - 删除表时出现: Cannot delete or update a parent row: a foreign key constraint fails
Mysql - 删除表时出现: Cannot delete or update a parent row: a foreign key constraint fails
272 0
|
SQL 数据库
SQL logic error or missing database no such table: xxx
原文:SQL logic error or missing database no such table: xxx System.
3481 0
|
SQL 关系型数据库 Oracle
[20180211]current_schema与dblink.txt
[20180211]current_schema与dblink.txt --//有时候调优sql语句,经常在回话设在alter session set current_schema=scott,然后执行sql语句.
1119 0
|
JavaScript 关系型数据库 MySQL