范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

MySQL代码开发和调试利器CLion

  这是学习笔记的第 2268篇文章
  读完需要
  9
  分钟   速读仅需7分钟   MySQL源码对于很多人来说,是很有距离感的。   我想对于MySQL技术有兴趣的同学,基本测试过如下的一些方法(之一或者是全部):   1)下载MySQL源代码,一窥其中的奥妙   2)基于源码安装MySQL,从cmake开始,基本要被bison,curces,boost折腾一波   3)在Windows环境配置MySQL源码环境,特殊配置Cross GCC,MinGW   4)通过GDB调试MySQL,设置断点,得到一些堆栈信息,进行全面跟踪   5)使用LLDB调试MySQL,需要从源码仓库构建版本,基于MAC端还好,Linux端还需要额外处理。   6)通过pstack,perf,strace等得到一些堆栈信息,不同水平的人分析的效果差异较大   7)通过应用管理中的一些特性或者bug,从代码中去查找相关的逻辑,问题锁定的方向相对比较清晰,可能最尴尬的就是验证了下这个bug确实是个bug   在此,我不是要安利什么,我也做过这些尝试,有些尝试其实是很痛苦的,这个过程中的投入和收益是严重不成正比的。有句话说得好,对于你想做的事情,时间会给你答案,我想对于很多人来说,这个答案就是放弃。   通过最近的一次线上问题修复,让我有了新一步的思考。问题的背景是一个GitHub开源的基于Java技术栈的后端服务,最近在数据流转中出现了数据问题,主要原因是基于时差的问题,对于这个问题自己看了相关的代码,也做了很多的调试和测试,整个过程都是在Windows环境下完成的,做完测试之后,在编译和发布的过程,走了一些弯路,最后发布到线上前又做了一次验证测试,发现和之前测试的结果竟然不一样。   于是后续的补充测试是在Linux环境下进行的,我做了更多的测试和验证,最后的修复方案完全是基于命令行方式调整的,直观来看,流转效率和准确性比之前提高了好几倍,让我也有了一些欣喜和成就感。   我开始重新思考这个过程中的一些弯路,我的初步思路是,我的服务是要发布在Linux X86_64位的环境下,而整个开发过程竟然都是在Windows下验证的,也就意味着存在一些可能会导致我原本Windows下的环境配置或者测试场景和Linux存在一些差异,尤其是一些依赖库的差异就更大了,这样就意味着会返工,那么为什么不直接在Linux下基于IDE开发呢。   这么一想,突然发现我们基于Python的项目还早是按照这种模式做了很久了,我们是在VirtualBox中安装了Linux虚拟机,然后在上面配置了开发环境,最开始就是因为跨平台库依赖支持差异比较大,所以放弃了Windows侧的开发模式,从开始就在Linux下开始,这么些年下来,还真没感觉到太大的差异。   我想很多人都会很自然的抗拒说,Linux下的命令行模式不够友好,至少在MySQL源码方向上,IDE用起来会很麻烦吧,目前我知道的工具,主要有VS Code,Eclipse for C++,CLion   经过周末的一些对比和测试,我选择了CLion,为此还特意选定了一个风火轮图标。   进入CLion配置整个MySQL源码环境,从系统命令行配置到IDE的配置切换,整个过程个把小时就差不多了。   如果在查看代码中喜欢查看上下文,做下更细致的调试,我想这个工具的粒度和支持要更强大,细腻。   比如我们选择官网的MySQL源码包,比如:mysql-boost-5.7.31.tar.gz   假设路径如下:basedir : /usr/local/mysql_5.7.31_sourcedatadir : /data/mysql_5.7.31_sourceboost:/root/mysql_5.7.31_source/boost_1_59_0   可以使用如下的cmake命令:cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql_5.7.31_source -DMYSQL_DATADIR=/data/mysql_5.7.31_source/ -DSYSCONFDIR=/data/mysql_5.7.31_source -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DMYSQL_UNIX_ADDR=/data/mysql_5.7.31_source/mysql.sock -DENABLED_LOCAL_INFILE=1 -DWITH_DEBUG=1 -DWITH_BOOST=/root/mysql_5.7.31_source/mysql-5.7.31/boost/boost_1_59_0   如果想省事些,直接先下载boost也可以,使用download选项   会自行映射boost_1_59_0/boost以及下面的目录和文件   如果不知道该映射的boost文件,则可以使用download选项-DWITH_DEBUG= -DDOWNLOAD_BOOST= -DWITH_BOOST=/xxxx/boost_xxxx   命令行方式初始化数据库cd /usr/local/mysql_5.7.31_source/bin./mysqld --basedir=/usr/local/mysql_5.7.31_source --datadir=/data/mysql_5.7.31_source --initialize-insecure --user=mysql --server-id=57310   整个过程CLion的配置和命令行的参数是一模一样的。   启动MySQL的过程,配置和命令行方式是一样的,只是通过CLion启动,然后就可以开启调试模式,得到一些更具体的信息了。   这是基本真实环境下的开发调试,而且代码和服务都是在环境中真实可见的,这种体验和学习效果强烈推荐。

这才叫教育!儿子和母亲的经典对话,值得所有父母深思!1儿子妈妈,我睡不着,你能和我说说话吗?妈妈可以,你说吧!儿子你对我的成绩满意吗?妈妈你对你自己的成绩满意吗?儿子还行吧,感觉挺有自信的。妈妈有时候自信比成绩更重要!儿子难道你真不桃花源记陶渊明走了一走就是千年那个传奇的国度里我找遍却看不见关于红尘的足迹盛唐风月有情大宋传奇犹历成吉思汗的铁骑太平天国的号角谁见过没有硝烟的天地现实的雪地几人敢脱光外衣开疆拓宇满目疮痍的夫妻相识三个月闪婚生子,远嫁他乡的妻子终日流泪,婚姻最怕这事文橘猫大大06281hr春节呆家里,看某一期的爱情保卫战老婆偶然认识老公,从相识到结婚到生子,这前后的不过是几个月的时间。老婆本来在长沙工作,因为老公家在广东,奔赴千里来到异乡,却你为什么喜欢诗词?南宋冷门诗人佳作选评,唯美深沉有大境界很多人问我,诗词到底美在何处?我答曰感动。诗词之美,在于能打动人心,给人朴实且真切的感动。中华诗词数千年魅力不衰,或许正在于此。触动情肠,让你或悠然神往,或心有戚戚,或感慨莫名,或假期来读好诗,四首唐诗唯美深沉,有人生大境界,送给漂泊孤独心十一长假,放下工作的忙碌与疲惫,清除心灵的蒙尘,感受自然的纯粹之美吧。为了生活而奔波,为了理想而奋斗,但当你回头望一望时,是否有一丝疲惫与无奈?千百年来,人情并未改变。诗人也总以敏一日一诗绵绵的细雨落在我的窗下而三百首唐诗早已把我湿透雨夜读唐诗丁小炜绵绵的细雨落在我的窗下而三百首唐诗早已把我湿透孤灯不眠的夜里,渴望的又岂止是一杯长醉不醒的美酒明眸皓齿的你已飘然而去一日千里的是朝发的轻舟只有我还逗留在故人的村庄用经典100句唐诗宋词精华,尽在其中唐诗宋词,是中华民族最宝贵的文化瑰宝,是中国人最引以为傲的文学形式,它凝聚了中国人的才情和智慧。心中有诗,生活如歌是一个人最好的生活状态。100句最经典的唐诗宋词串成了诗词接龙,一一日一诗清晨,我走过西安的街巷那些欲望如此平凡凌晨我走过西安的街道胡庆军那些路灯,用微弱或明亮的光守护熟睡的梦我用匆忙的步伐,路过一座古城的夜如同路过一个老人的人生此刻,历史的长度无人在意马路上,围挡挡住了我的视线却没有挡住一一日一诗总以为那些日子被时间掩埋早已化作尘埃虚无那些日子壹篮小麦总以为那些日子被时间掩埋早已化作尘埃虚无不曾想一句不经意的话一次偶遇那些日子的不堪像被潮水冲洗过裸露在记忆的海滩原来它一直都在像一串串脚印躺在旧底片上睡觉像个陈旧的早上起床后,第一件事不是排便,也不是喝水,早知道早受益一夜的睡眠使全身的肌肉和韧带都处于松弛状态,马上猛地起身,会导致人体出现不适,缺少了从平静状态到活动状态的过渡。这时,大家可以多做一些简单一点的运动来唤醒沉睡的身体。如果一睡醒就起白头发越来越多,一定有这些坏习惯,赶紧改有人说白发是人生历练的象征,有着和年轻人截然不同的魅力。话虽这么说,如果年纪轻轻就出现一头白发,无论是对个人形象还是心理状态,都会有不良的影响。所以,还是希望拥有一头乌黑秀发。为什
写给异地恋情侣的8句话,看到哪一句时你哭了?爱情里最辛苦的可能就是异地恋了,连一个拥抱都是奢望!1你住的城市下雨了,很想问你有没有带伞,可是我忍住了,因为我怕你说没带,而我又无能为力。2异地恋就是我已哭湿了枕头说不出话,你却你以为我不爱你最伤人,其实这些话更伤人!在爱情里你以为我不爱你最伤人,其实很多爱很多话比我不爱你更加伤人。1今天她结婚,我请假,开了一天一夜的车到她家附近,车队来了,她穿婚纱的样子真好看,和我想象的不差,像公主一样,跟在如果你正暗恋着一个人,不要看这十句话,怕第一句就触动你的泪点情感里最痛苦的可能是暗恋了,如果你正暗恋着一个人,千万不要看这十句话,怕第一句就触动你的泪点1攒了一天的新鲜事,开口却成晚安。2你知道我暗恋谁吗,如果你不知道,那么请回头看看这句话心情不好的语录,心情不好的句子结婚时也给我张请柬吧,开心的,难过的,愤怒的,温柔的,你所有的样子我都见过,就想最后看看你不属于我的样子。再后来,听闻你有了新欢,从此我的英雄为了另一个女孩征战疆场血贱四方。心情不心,一旦离开了,就再不会回来!1心,一旦离开了,就再不会回来。2说好永远的,不知怎么就散了。最后自己想来想去,竟然也搞不清楚当初是什么原因把彼此分开的。然后,你忽然醒悟,感情原来是这么脆弱的。经得起风雨,却经不令人心痛到流泪的句子,深夜时千万别看!1大概是又有了别人来陪伴,所以我就这样悄悄退场也没有关系。2喜欢一个不喜欢自己的人,是能忍住不找他,却没有办法在他找你的时候不回复,我回你是秒回,你回我是轮回。最怕的是在我想要放弃有个性的句子,句句经典!1这个世界哪有那么多的缘分,都不过是处心积虑才得以相识,得寸进尺才得以相爱。2平时那些时光倒流什么的我半个字都不信,可在我补作业的时候,时光倒流什么的我想的最多。3我以为时间是最好关于开学的句子,哪一句虐到了你的心?1开学第一天请注意一下第一个跟你打招呼的人吧。2我猜开学后的一个星期会有人习惯性走错班级,这不叫路痴,叫做心酸。3开学了,愿我沉迷于学习日渐消瘦,日渐消瘦,消瘦,瘦4听说开学前的晚正能量语录真正的强者不是没有眼泪,而是含着眼泪依然奔跑1奇迹不过是努力的另一个名字,时间不会改变一切,能改变一切的人,只有你自己。2你必须把必须走的路走漂亮,才可以走想走的路,有些路你不走下去,就不知道那边的风景有多美。3真正的强者不2018最走心的十句话,句句穿心!1这个世界根本不存在不会这回事当你失去所有依靠的时候,你自然就什么都会了。2遇见你的时候,你是四月檐上雨。放弃你的时候,你是人间惊鸿客。3今天网吧看到一个很可爱小妹妹在玩植物大战僵经典爱情语录你走在我后面,我都能惊慌失措到忘记走路的姿势1这一生,总有一个人,老是跟你过不去,你却很想跟他过下去。2希望你一生没有软肋,不像我,别人提到你,我就输了。3无人问津的渡口总是开满野花,就像我爱你却又支支吾吾说不出话。4如果一