wsl2 +vscode 搭建mysql8.0+调试环境

wsl2 +vscode 搭建mysql8.0+调试环境

  1. 官网下载mysql 源码

  2. 在子系统中解压,假设解压后的目录路径为$mysql_home

  3. 创建目录

    mkdir $mysql_home/build
    mkdir $mysql_home/etc
    mkdir $mysql_home/data
    mkdir $mysql_home/boost
    cd $mysql_home/build
    
  4. 手动下载boost_1_73_0.tar.gz,并放到boost目录下

  5. 下载一些依赖

    sudo apt install build-essential cmake bison libncurses5-dev libssl-dev pkg-config
    
  6. 编辑build.sh文件

    cmake .. -DCMAKE_INSTALL_PREFIX=$mysql_home/build \
            -DWITH_BOOST=$mysql_home/boost \
            -DWITH_DEBUG=1 
    make -j 4
    

这里如果机器内存不足,可能会经常崩溃,主要是因为wsl2不断使用内存作为buffer,并且不归还,最后主机内存使用太多被kill掉了。

解决方案:

在资源管理器输入 %UserProfile%,然后创建.wslconfig文件,内容如下

[wsl2]
memory=8GB
swap=8GB
localhostForwarding=true
然后重启一下 wsl,在powershell中使用 wsl –shutdown,再打开即可

  1. 编辑etc/my.cnf文件

    [mysql]
    local-infile=1
    [mysqld]
    local-infile=1
    basedir=/home/xfchen/workspace/mysql-8.0.25/build
    datadir=/home/xfchen/workspace/mysql-8.0.25/data
    innodb_buffer_pool_size=4G
    
  2. 初始化mysqld

    bin/mysqld --defaults-file=../etc/my.cnf --initialize-insecure
    
  3. vscode 连接wsl2,安装以下插件

    C/C++
    C/C++ Clang Command Adapter
    CodeLLDB
    
  4. ubuntu 安装llvm clang

    sudo apt install llvm clang
    
  5. 在sql_parser.cc 文件中的 do_command 处打断点,并点击vscode调试按钮,然后命令行执行

    bin/mysql -uroot
    

    最终效果

    wsl2 +vscode 搭建mysql8.0+调试环境_第1张图片

你可能感兴趣的:(windows,数据库)