MySQL源码调试

参考了几篇文章,还是这篇较靠谱, mac 上调试 MySQL 源码

简单记录下步骤

  • AppStore上搜索下载并安装 xcode,官网下载安装 cmake, 安装 gdb (可直接 homebrew 安装)
  • 下载源码,我下载的是 percona-server-5.7.22
  • 配置阶段
    • cd percona-server-5.7.22-22
    • mkdir work
    • cmake mysql 5.7 需要排除掉 rocksdb,-DWITH_ROCKSDB_STORAGE_ENGINE=OFF -DWITHOUT_ROCKSDB_STORAGE_ENGINE=ON , 否则有头文件依赖,通不过编译
    • 依赖 boost,需要加上 boost 下载安装参数,-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/your_path/percona-server-5.7.22-22/boost
    • cmake . -G “Xcode” -DWITH_DEBUG=1 -DWITH_TOKUDB_STORAGE_ENGINE=OFF -DWITHOUT_TOKUDB_STORAGE_ENGINE=ON -DWITH_ROCKSDB_STORAGE_ENGINE=OFF -DWITHOUT_ROCKSDB_STORAGE_ENGINE=ON -DCMAKE_INSTALL_PREFIX=/your_path/percona-server-5.7.22-22/work -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/your_path/percona-server-5.7.22-22/boost
  • 生成 MySQL.xcodeproj 后用 xcode 打开,然后进行 ALL_BUILD, 相当于 make , make install 过程
  • 接下来 copy 文件到 work 目录
    • cd work ; mkdir {bin,share,scripts,data}
    • cp sql/Debug/mysqld work/bin/
    • cp client/Debug/mysql* work/bin/
    • cp extra/Debug/my_print_defaults work/bin/
    • cp -r sql/share/* work/share/
    • cp -r scripts/* work/scripts/
    • chmod +x work/scripts/*
    • cp scripts/*.sql work/share/
    • cp support-files/*.cnf work/share/
  • 初始化数据库
    • mysqld --initialize-insecure --user=系统用户名
  • 返回 xcode 选择 active schema 为 mysqld , 并且 project->schema->edit schema , 添加 Arguments(启动时参数)
    • –user=系统用户名
    • –datadir=/Users/ruiaylin/Documents/MySQL/percona-server-5.6.24/work/data
  • my.cnf 不需要管,有需要再创建和指定,创建 /tmp/mysql.sock ,xcode 中启动 mysqld
  • 命令行 mysql -hlocalhost -uroot 连接上,xcode 中代码断点可以打在 sql_parser.cc > do_command 方法上

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值