文档章节

怎么样使用CLion调试分析MySQL Server

anoty
 anoty
发布于 2017/08/16 20:41
字数 358
阅读 92
收藏 0
点赞 0
评论 0

由于在写MySQL日志订阅服务时候,需要确定在什么event之后保存position,所以就开始研究MySQL的源码,刚开始采用最原始的打印输出的方式去调试,然后每次改完编译运行,效率好低,让我很绝望,然后我花了些时间研究下怎么使用CLion Debug MySQL。

获取源码

git clone https://github.com/mysql/mysql-server

编译安装初始化数据库

cd mysql-server

cmake \
-DCMAKE_INSTALL_PREFIX=/path/mysql/install \
-DMYSQL_DATADIR=/path/mysql/data \
-DSYSCONFDIR=/path/mysql/etc \
-DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock \
-DWITH_DEBUG=1  \
-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/mysql-server/ -DDOWNLOAD_BOOST_TIMEOUT=60000

make -j 4 

make install -j 4

mysqld --initialize-insecure --user=root --datadir=/path/mysql/data

启动MySQL,测试下是否安装成功 

/path/install/bin/mysqld --defaults-file=/path/mysql/etc/my.cnf

使用CLion新建工程并打开源码目录之后,设置CLion 设置CLion CMake选项

CMake Options和你编译安装时的选项一致

-DCMAKE_INSTALL_PREFIX=/path/mysql/install 
-DMYSQL_DATADIR=/path/mysql/data 
-DSYSCONFDIR=/path/mysql/etc 
-DMYSQL_UNIX_ADDR=/path/mysql/mysql.sock 
-DWITH_DEBUG=1  

然后在CLion里,Reload CMake Project

Reload CMake Project

在Run/Debug列表里就可以看到很多选项了

Run/Debug

找到mysqld配置下启动参数 mysqld配置下启动参数

mysqld --defaults-file=/path/mysql/etc/my.cnf

然后以Debug模式启动,看下成功的效果 Debug模式启动

学习MySQL源码的文档

https://dev.mysql.com/doc/internals/en/

可以找到想要学习的功能的源码位置,不至于没头苍蝇,比如主从同步功能(replication) 

https://dev.mysql.com/doc/internals/en/replication-source-code-files.html

© 著作权归作者所有

共有 人打赏支持
anoty
粉丝 12
博文 20
码字总数 14053
作品 0
浦东
Opencv配置方法汇总:Xcode/CLion/Qt

Opencv版本3.4.1 重复的基本步骤我会给出网上各位大神的链接,下面是我自己遇到的一些特殊问题(网上又很难找到)的汇总,希望对你有帮助! 我自己的opencv是通过CMake编译安装的。 Xcode: ...

isee_nh ⋅ 05/24 ⋅ 0

使用系统启动盘装系统,实践经历,以及一点小小的感悟

写在前面 这是一篇于2017.9.26写的有道云笔记,现结合后续的实践整理成博客。 自从接触SLAM后,就离不开Linux操作系统了,而且装系统已经是现代人的必备技能之一,所以在此记录一下自己的经历...

learning_tortosie ⋅ 04/11 ⋅ 0

玩转MaxCompute studio SQL编辑器

SQL因其简单易学的特点,是用户与MaxCompute服务交互的主要手段。如何帮助用户高效愉快的编写SQL是MaxCompute studio的核心使命,下面就让我们来一探究竟: 忘记语法 相信大家都有过忘记SQL...

昊一 ⋅ 05/17 ⋅ 0

SpringBoot与缓存使用及原理(上)

下面我就开始介绍springboot中的缓存: 首先了解下JSR107、Spring缓存抽象等等概念。 一 JSR107(下面会有具体Springboot代码演示) Java Caching定义了5个核心接口,分别是CachingProvider...

刘信坚 ⋅ 06/14 ⋅ 0

关于windwos 2012 R2安装Wanna Cry补丁不成功的问题

首先将补丁包放置在C盘的根目录下 接着运行1.bat文件自动安装补丁,界面如下。 接下运行2.bat文件查看补丁是否安装成功,出现以下界面说明补丁包安装成功。 确定安装完成后重启服务器。 所需...

赶紧回家去 ⋅ 2017/05/16 ⋅ 0

Clion安装配置教程 ,附加mingw

不知道是我是搜索问题,还是什么百度的搜索引擎问题,百度Clion配置居然找不到多少有关这个软件配置的文件,只好翻墙去谷歌找,一搜索就看到这篇好文章!因为怕日后要用,而且百度搜索引擎 ...

sprouting ⋅ 2016/07/28 ⋅ 0

CLion v2016.3发布,代码分析改进,UI界面调整

【下载最新版CLion】 C++14数据分隔符 CLion现在可以正确地解析数据,使用单引号字符作为数字分隔符。 代码分析改进 CLion中的静态分析帮你写出完美且正确的代码。在2016.3版本中我们修改了几...

zoujiajun33 ⋅ 2016/11/25 ⋅ 0

CLion 1.0 发布,C/C++ 跨平台集成开发环境

CLion 1.0 发布,优化了用户界面,同时与 CMake 构建系统和 GDB 调试器以及许多流行的版本控制系统结合在一起,还提供了一键导航、智能编辑、代码重构、代码分析功能来保证高质量的 C/C++ 编...

oschina ⋅ 2015/04/15 ⋅ 33

CLion 2017.3.1 EAP 发布,包含 bug 修复

CLion 2017.3.1 的 Early Access Preview 版本发布了,这是对最近发布的主要 CLion 更新的 bug 修复更新。 更新内容: 生成操作中的模板在CLion 2017.3生成定义开始使用函数模板。使用此更新...

周其 ⋅ 2017/12/14 ⋅ 1

macOS 下用 Clion和OpenOCD开发 STM32(st-link和STM32CubeMX)

macOS 开发 MCU,基本上就是 Ecllipse + GNU ARM GCC + OpenOCD这套(GNU MCU Eclipse)组合,虽然已经很不错了,但是用了 JetBrain 家的 IDE 后,发现 CLion 还是比 Eclipse 好用不少,,,...

Mintisan ⋅ 01/08 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 18分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 37分钟前 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 47分钟前 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 1

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部