博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysqldump:Couldn't execute 'show create table `tablename`': Table tablename' doesn't exist (1146)
阅读量:5955 次
发布时间:2019-06-19

本文共 2019 字,大约阅读时间需要 6 分钟。

遇到了一个错误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>

查看对应表的.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文件,备份就不会出现这种情况了。但是没有搞清楚这种情况出现的前因后果。

转载地址:http://jnlxx.baihongyu.com/

你可能感兴趣的文章
AD灾难恢复情景及方案
查看>>
mysql 导出
查看>>
Openstack M版快速配置(二)--刷数据库
查看>>
sed
查看>>
Failed to execute goal org.apache.maven.plugins:ma
查看>>
如何利用华为交换机配置SSH登录
查看>>
数据挖掘的产品
查看>>
2013.8.4thinkPHp学习
查看>>
cygwin图文安装教程
查看>>
去小机化思维(二)--【软件和信息服务】2015.03
查看>>
华为交换机的端口hybrid端口属性配置
查看>>
算法学习之归并排序(java实现)
查看>>
css3在线快速制作工具
查看>>
linux系统进入救援模式
查看>>
oracle常用网址
查看>>
我的友情链接
查看>>
10个SQL注入工具
查看>>
[李景山php]每天laravel-20160826|EncryptionServiceProvider
查看>>
[李景山php]每天laravel-20161005|Validator.php-5
查看>>
php读取大文件详解【OK】
查看>>