☉其实大年夜概步调就是
1、Checks if a table is in the dictionary cache
根据dict_sys->table_hash寻找
2、Loads a table definition and also all its index definitions.
接下来我们分析一下为什么是FLAG是33如下:
如许也就说清楚明了为什么show tables可以或许看到然则select却报错Table doesn't exist ,而大年夜道理上讲show tables只是查看了frm文件。
别的┞封里也提一个案列,曾经有一个同伙问我他将全部库目次都拷贝了,然则表能看到然则一操作就报Table doesn't exist,显然他没有拷贝ibdata1,数据字典的引导信息都存在这琅绫擎文件的第7个page中,其b+树也是存在个中,用源码解释一下:
- /**********************************************************************//**
- Gets a pointer to the dictionary header and x-latches its page.
- @return pointer to the dictionary header, page x-latched */
- dict_hdr_t*
- dict_hdr_get(
- /*=========*/
- mtr_t* mtr) /*!< in: mtr */
- {
- buf_block_t* block;
- dict_hdr_t* header;
- block = buf_page_get(page_id_t(DICT_HDR_SPACE, DICT_HDR_PAGE_NO),
- univ_page_size, RW_X_LATCH, mtr);
- header = DICT_HDR + buf_block_get_frame(block);
- buf_block_dbg_add_level(block, SYNC_DICT_HEADER);
- return(header);
- }
留意这里的 DICT_HDR_SPACE, DICT_HDR_PAGE_NO分别是宏定义
- /* Space id and page no where the dictionary header resides */
推荐阅读
DIY就是靠你本身着手做的意思,这意味着DIY拥有很大年夜的自由度和那份无人能赐与的成就感,但当然了,伴跟着的也拥有必定的难度与障碍。对于我们DIY装机来说,那些DIY玩家应当也就是凭借着前面所说那份>>>详细阅读
本文标题:关于MySQL ERROR 1146 Table doesnt exist的解析
地址:http://www.17bianji.com/lsqh/37797.html
1/2 1

网友点评
精彩导读
科技快报
品牌展示