mysqldump:Couldn't execute 'show create table `tablename`': Table tablename' doesn't exist (1146)
2015-11-15 09:45
786 查看
遇到了一个错误mysqldump:Couldn'texecute'showcreatetable`CONCURRENCY_ERRORS`':TableINVOICE_OLD.CONCURRENCY_ERRORS'doesn'texist(1146)######WARNING######ErrorsreportedduringAutoMySQLBackupexecution..BackupfailedErrorlogbelow..Error:Couldn'treadstatusinformationfortableCONCURRENCY_ERRORS()mysqldump:Couldn'texecute'showcreatetable`CONCURRENCY_ERRORS`':TableINVOICE_OLD.CONCURRENCY_ERRORS'doesn'texist(1146)Error:Couldn'treadstatusinformationfortableCONCURRENCY_ERRORS()mysqldump:Couldn'texecute'showcreatetable`CONCURRENCY_ERRORS`':TableINVOICE_OLD.CONCURRENCY_ERRORS'doesn'texist(1146)数据库的版本为:5.5.22-enterprise-commercial-advancedMySQLEnterpriseServer-AdvancedEdition(Commercial)如下所示,查询不了该表的定义以及数据(都提示该表不存在),但是使用showtablelike命令又能看到该表。
查看对应表的.frm文件(.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等),如下所示,发现该文件是存在的。
Google查了一下资料,发现这个可能是一个bug来的(详情请见链接https://bugs.mysql.com/bug.php?id=65670)因为这个数据库其实早就迁移走,数据库也被我重命名了。检查发现迁移后的数据库里面,该表没有任何数据。于是我尝试从数据库的数据目录删除了CONCURRENCY_ERRORS.frm文件,备份就不会出现这种情况了。但是没有搞清楚这种情况出现的前因后果。
mysql>USEINVOICE_OLD;
Databasechanged
mysql>showtableslike'%CONCURRENCY_ERRORS%';
+----------------------------------------------+
|Tables_in_INVOICE_OLD(%CONCURRENCY_ERRORS%)|
+----------------------------------------------+
|CONCURRENCY_ERRORS|
+----------------------------------------------+
1rowinset(0.73sec)
mysql>selectcount(1)fromCONCURRENCY_ERRORS;
ERROR1146(42S02):Table'INVOICE_OLD.CONCURRENCY_ERRORS'doesn'texist
mysql>descCONCURRENCY_ERRORS;
ERROR1146(42S02):Table'INVOICE_OLD.CONCURRENCY_ERRORS'doesn'texist
mysql>
查看对应表的.frm文件(.frm文件是用来保存每个数据表的元数据(meta)信息,包括表结构的定义等),如下所示,发现该文件是存在的。
mysql>showvariableslike'%datadir%';
+---------------+------------------+
|Variable_name|Value|
+---------------+------------------+
|datadir|/u01/mysql/data/|
+---------------+------------------+
1rowinset(0.23sec)
mysql>exit
Bye
-bash-3.2$cd/u01/mysql/data
-bash-3.2$lsCONCURRENCY_ERRORS*
CONCURRENCY_ERRORS.frm
Google查了一下资料,发现这个可能是一个bug来的(详情请见链接https://bugs.mysql.com/bug.php?id=65670)因为这个数据库其实早就迁移走,数据库也被我重命名了。检查发现迁移后的数据库里面,该表没有任何数据。于是我尝试从数据库的数据目录删除了CONCURRENCY_ERRORS.frm文件,备份就不会出现这种情况了。但是没有搞清楚这种情况出现的前因后果。
相关文章推荐
- ajax+mysql
- mac 使用mysql 5.7.9
- MySQL备份与恢复
- 不同场景下 MySQL 的迁移方案
- ubuntu下 pdo_mysql扩展项详细安装
- MySQL的备份方式
- MYSQL的COMMIT和ROLLBACK
- mysql绿色版安装
- mysql设置事务隔离级别
- mysql-5.6 升级 5.7
- mysql启用skip-name-resolve模式时出现Warning的处理办法
- windos安装mysql(zip版本msql包) 初始化密码、新增用户
- MySQL——数据类型、列属性
- MySQL——列属性、查询select、模糊查询、聚合函数
- Mysql5.7设定root密码
- 报错:1130-host ... is not allowed to connect to this MySql server 开放mysql远程连接 不使用localhost
- 30分钟带你快速入门MySQL教程
- mysql基本问题2
- 在UBUNTU虚机中部署宿主机可访问的MYSQL服务
- MySQL性能优化