小编给大家分享一下MySQL中mysqldump导出数据异常重启及drop栈帧的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在进行mysqldump的时候只要访问到库中一个表,只要一访问就抛错重启如下:稍做分析发现出错的函数是page_find_rec_max_not_deleted,并且出现在打开表的时候,打开表为什么要去访问实际的数据块呢?我在de免费主机域名bug环境做了一个断点在page_find_rec_max_not_deleted上栈帧如下:其实原因可以一目了然,原来打开表的时候如果有自增字段需要访问索引的最后一个块,而数据文件已经损坏了只要打开表就会重启。还好这个表是不需要的,只是简单drop 就行了。再次进行mysqldump正常了。8.0听说对于初始化自增值做了加强,不需要访问数据文件了而是做了持久化,也许8.0就不会有这种问题了。有的时候即便我们idb文件不存在drop table是可以进行的下面是两个栈帧。row_drop_single_table_tablespace 函数INNODB删除物理文件如果文件不存在row_drop_single_table_tablespace -> fil_delete_tablespace 中有如下代码第一个条件os_file_delete函数会返回flase他会调用如下:并且报错第二个条件os_file_delete_if_exists会返回也就是 函数os_file_delete_if_exists_func返回了true,即便文件不存也是true。
因此本条件不会触发报错,则drop table即便idb文件不存在也会继免费主机域名续。以上是“MySQL中mysqldump导出数据异常重启及drop栈帧的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注云技术行业资讯频道!
这篇文章将为大家详细讲解有关SQLSERVER如何查看各磁盘可用空间,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 保存数据的表create table dc_DiskDetaill(Drive varchar(10),Si…