使用Clion在Ubuntu下调试MySQL8.0

MySQL源码下载

下载地址: https://github.com/mysql/mysql-server/releases
本文章下载的是8.0.25

MySQL源码编译

编译依赖

(1) apt install libncurses-dev
(2) apt install libssl-dev
(3) 该文章中描述的是相关依赖: https://blog.csdn.net/fuzhiyu1985/article/details/117356058?spm=1001.2014.3001.5501
(4) MySQL8.0.25依赖的boost是1.73.0版本

Clion调试配置

通过Clion调试MySQL源码,主要是要把MySQL编译路径与MySQL安装路径配置成一样的。
(1) 将下载好的源码放到home下面
(2) 解压源码,在源码下面创建 build 和 /build/data 2个文件夹
(3) 配置Clion的Cmake的编译目录
在这里插入图片描述
(4) 配置Clion的Cmake的编译参数
-DCMAKE_BUILD_TYPE=Debug
-DWITH_BOOST=/home/tool/boost_1_73_0
-DCMAKE_INSTALL_PREFIX=/home/code/mysql-server-mysql-8.0.25/build(编译路径与安装路径相同)
-DMYSQL_DATADIR=/home/code/mysql-server-mysql-8.0.25/build/data(数据库初始化路径)
-DSYSCONFDIR= home/code/mysql-server-mysql-8.0.25/build
-DMYSQL_UNIX_ADDR=/home/code/mysql-server-mysql-8.0.25/build/data/mysql.sock

(5) MySQL编译
第一种: 使用Clion进行编译
在这里插入图片描述
第二种: 进入/home/code/mysql-server-mysql-8.0.25/build,执行make -j 4
由于Clion导入MySQL源码时,会在/home/code/mysql-server-mysql-8.0.25/build下面生成makefile

(6) MySQL初始化
进入/home/code/mysql-server-mysql-8.0.25/build/bin,执行:在执行如下语句之前,需要创建mysql用户组和mysql用户(groupadd mysql / useradd -r -g mysql -s /bin/false mysql)
命令: ./mysqld --basedir=/home/code/mysql-server-mysql-8.0.25/build --datadir=/home/code/mysql-server-mysql-8.0.25/build/data --initialize-insecure --user=mysql
(7) 将/home/code/mysql-server-mysql-8.0.25/build/data,加入完全权限:

chmod -R 777 /home/code/mysql-server-mysql-8.0.25/build/data

(8) 配置Clion的mysqld
步骤一: 如下图
在这里插入图片描述
步骤二: 如下图
在这里插入图片描述
Program arguments:

--basedir=/home/code/mysql-server-mysql-8.0.25/build --datadir=/home/code/mysql-server-mysql-8.0.25/build/data --user=mysql

Working directory:

/home/code/mysql-server-mysql-8.0.25/build/data

(9) 调试mysqld
步骤一: 如下图, 启动mysqld,验证mysqld是否启动(ps -ef | grep mysql)
在这里插入图片描述
步骤二: do_command函数加上断点
步骤三: 执行: ./mysql -uroot -h127.0.0.1 -P3306 -p (没有密码,直接回车,初始化使用的是--initialize-insecure

附录

操作系统: 20.04.1-Ubuntu
Clion版本: Clion 2021.1.1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值