mysql的源码介绍

开发5.6.39mysql的加解密,参考mariadb10.1.5

 


链接:https://www.zhihu.com/question/20040676/answer/14226994
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

  1. mysql 不用配置文件也可以启动 ,我用命令参数指定数据路径和端口
    --datadir="D:/work/bin/MySQL5/sql/datatt" --port=39000

2 代码量很大, 别一开始就太纠缠细节。不然打击会很大。

3 多去网上找点资料,这样自己看时会事半功倍。

4 给你个堆栈电梯 , 直接到 接口层(ha_innobase) , 我也刚刚到这。
> mysqld.exe!row_sel_store_mysql_rec
mysqld.exe!row_search_for_mysq
mysqld.exe!ha_innobase::index_read
mysqld.exe!ha_innobase::index_first(unsigned char * buf)
mysqld.exe!handler::read_range_firs
mysqld.exe!handler::read_multi_range_first
mysqld.exe!QUICK_RANGE_SELECT::get_next()
mysqld.exe!rr_quick(READ_RECORD * info)
mysqld.exe!join_init_read_record(st_join_table * tab)
mysqld.exe!sub_select(JOIN * join, st_join_table * join_tab, bool end_of_records)
mysqld.exe!do_select(JOIN * join, List<Item> * fields, TABLE * table, Procedure * procedure)
mysqld.exe!JOIN::exec()
mysqld.exe!mysql_select
mysqld.exe!handle_select(THD * thd, LEX * lex, select_result * result, unsigned long setup_tables_done_option)
mysqld.exe!execute_sqlcom_select(THD * thd, TABLE_LIST * all_tables)
mysqld.exe!mysql_execute_command(THD * thd)
mysqld.exe!mysql_parse(THD * thd, char * rawbuf, unsigned int length, Parser_state * parser_state)
mysqld.exe!dispatch_command
mysqld.exe!do_command(THD * thd)
mysqld.exe!do_handle_one_connection(THD * thd_arg)
mysqld.exe!handle_one_connection(void * arg)  

阅读更多

没有更多推荐了,返回首页