`
LiYunpeng
  • 浏览: 939307 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

重启MySQL服务后,导致数据表不存在的问题记录

阅读更多
最近发现了个问题,如标题。

具体操作说不清了,但大概是这样的
我使用MySQL Workbench来进行数据模型的同步,然后在修改一些原有表的设计的时候,Workbench把我的表外键给删掉了,我也没有在意,就同步了数据库。
然后在MySQL服务重启之后就出现了这种状况,如果你也是这种状况,can't select from existing table because it doesn't exist ,那么八成是我这里描述的问题。


问题解决
1.打开MySQL的errorLog,具体就在MySQL的安装目录下的my.cnf文件里,添加err-log的生成路径,然后查看错误日志。

2.发现错误日志在查询表的时候,出现如下内容
InnoDB: Load table 'mydb/test1' failed, the table has missing foreign key indexes.
也就是无法加载我这个表,不是表丢了,而是无法加载,我这个表找不到对应的外键索引。

后经Google,说者可能是MySQL的一个bug,就是删除了在外键列上的索引导致的,MySQL官方描述的这俩问题
https://bugs.mysql.com/bug.php?id=68148
https://bugs.mysql.com/bug.php?id=74659

3.遇到这个问题的解决办法,就是先将检测外键的功能给关掉
SET FOREIGN_KEY_CHECKS=0;
然后可以通过create index来把索引补回来。
然后再把检测外键的开关打开
SET FOREIGN_KEY_CHECKS=1;

4.补充一下,我遇到的这个问题和上面描述还有一点不太一样,就是我的外键索引是存在的,但是名字居然和我的外键名字完全相同,估计是通过workbench同步的时候生成代码出错导致的,也出现同样的问题,我就讲原来的索引干掉,重新创建了一下之后,问题解决了。
分享到:
评论

相关推荐

    mysql面试题-mysql面试题

    因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失 (2)如果表的类型是 InnoDB,那么是 15 InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是...

    精选MySQL 55道面试题与答案.docx

    因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大 ID 也不会丢失 (2)如果表的类型是 InnoDB,那么是 15 InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是...

    数据库面试必备!mysql 面试 55题

    因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失 (2)如果表的类型是 InnoDB,那么是 15 InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是...

    mysql数据库my.cnf配置文件

    # 注:这两个参数不支持动态改变,需要把该参数加入到my.cnf里,修改完后重启MySQL服务,允许值的范围从 1-64 innodb_thread_concurrency = 0 # 默认设置为 0,表示不限制并发数,这里推荐设置为0,更好去发挥CPU多核...

    高频的50个 MySQL 面试题含详细讲解

    因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失 (2)如果表的类型是 InnoDB,那么是 15 InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是...

    史上最全 55道 MySQL面试题及答案,看完碾压面试官

    因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失 (2)如果表的类型是 InnoDB,那么是 15 InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是...

    Mysql数据库错误代码中文详细说明

    关键字重复,更改记录失败1023:关闭时发生错误1024:读文件错误1025:更改名字时发生错误1026:写文件错误1032:记录不存在1036:数据表是只读的,不能对它进行修改1037:系统内存不足,请重启数据库或重启服务器...

    我已装了Mysql但,安装DZ论坛时,为什么提示没有安装Mysql?

    您可能感兴趣的文章:MySQL优化配置文件my.ini(discuz论坛)千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记由于mysql运行权限导致无法找到 Discuz! 论坛数据表! 的解决方法MySQL针对Discuz论坛程序的基本优化教

    MySQLDBA运维笔记.pdf

    1.5.1 生产环境不能用强制命令关闭 mysql 服务 .......................................................22 1.5.2 下面来介绍优雅关闭数据库方法: ................................................................

    易语言程序免安装版下载

    6) 修改MYSQL支持库跨静态编译的EXE和DLL传递连接句柄和记录集句柄无效的BUG(改动较大,可能会产生兼容性问题,我们已经仔细测试,也请使用到此库的用户帮助我们多多测试,以便及早发现问题,谢谢) 7) 其它修改 ...

    CDS_uniDAC_mmzmagicrmoV1.80

    //创建远程服务对象 (参数1 服务端口号 日志对象,如果不需要记录日志请填nil) Gob_RmoDBsvr := TRmodbSvr.Create(FSvrPort, nil); //连接数据库 可以是ADO支持的所有数据库 调用TDBMrg提供的获取各种数据库的链接...

    入门学习Linux常用必会60个命令实例详解doc/txt

    因为Linux与Windows不同,其后台运行着许多进程,所以强制关机可能会导致进程的数据丢失,使系统处于不稳定的状态,甚至在有的系统中会损坏硬件设备(硬盘)。在系统关机前使用 shutdown命令,系统管理员会通知所有...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    mahara教师评价系统

    它提供了个人自我学习及成长发 展的工具及环境,您可以一门课程,建立一个博客,在这个博客里, 您可以记录您学习此课 程的心得及历程,此博客您可以分享给教师或同学 , 让他们了解您学习此课程的状况及进 度。...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

Global site tag (gtag.js) - Google Analytics