mysql备份导入表出现Table XXX doesn't exist的解决方法
mysql备份导入表经常会提示Table XXX doesn't exist,该怎么解决?以下是由阳光网小编整理关于mysql备份导入表出现Table XXX doesn't exist的解决方法,希望大家喜欢!
mysql备份导入表出现Table XXX doesn't exist的解决方法
今天服务器转移,安装MySQL后,完整导入data文件,将整个数据库导入。
之后打开phpmyadmin,发现了一个奇怪的问题,表明数据myshuju有48张表,但点进去后发现实际上标注只有47张表。
分析后发现,data文件夹中有所有数据表的frm文件,但在phpmyadmin中看不到这些表,
因为表比较小,所有采用sql文件的方式进行新增表。到这里问题就简单了。
会出现下面两个情况:
第一种情况:直接导入原数据表的sql文件,原frm文件不删除
出错:#1146 - Table 'eticket.et_admin' doesn't exist
第二种情况:删除原frm文件,刷新phpmyadmin,再导入该数据表的sql文件
出错:#1146 - Table 'eticket.et_admin' doesn't exist
完美解决方法:删除原frm文件,重启mysql服务器,刷新phpmyadmin,再导入该数据表的sql文件
成功:导入成功,执行了X个查询。
问题分析,数据库的表,创建的时间和方式不一致,丢失的表,一般为后期手动添加的表,与原来创建的表,存在一些差异。
MySql导入数据时Table XXX doesn't exist的'解决
数据表为Innodb引擎
data文件夹中存在数据表的frm文件,但在phpmyadmin中看不到这些表,于是采用导入sql文件的方式进行恢复
1、直接导入原数据表的sql文件,原frm文件不删除
出错:#1146 - Table 'eticket.et_admin' doesn't exist
2、删除原frm文件,刷新phpmyadmin,再导入该数据表的sql文件
出错:#1146 - Table 'eticket.et_admin' doesn't exist
3、删除原frm文件,重启MySQL服务器,刷新phpmyadmin,再导入该数据表的sql文件
成功:导入成功,执行了 28 个查询。 (ticket.sql)
Linux环境下MySQL报Table 'xxx' doesn't exist错误解决方法
问题:程序报Table 'xxx' doesn't exist 的错误,但是查看数据库发现该表已经存在且字母也没有拼错。
原因:Linux 上的mysql 默认是区分大小写导致的。
解决:改动mysql的配置文件,在my.cnf中的[mysqld]下面(位置不能错)加上lower_case_table_name=1这句(1表示不区分大小写,0区分大小写),保存重新启动mysql。
没有my.cnf文件,如果是默认安装执行以下列操作
[root@hqw mysql]# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
在my.cnf加入配置信息
【mysql备份导入表出现Table XXX doesn't exist的解决方法】相关文章: