赞
踩
官网下载mysql 源码
在子系统中解压,假设解压后的目录路径为$mysql_home
创建目录
mkdir $mysql_home/build
mkdir $mysql_home/etc
mkdir $mysql_home/data
mkdir $mysql_home/boost
cd $mysql_home/build
手动下载boost_1_73_0.tar.gz
,并放到boost目录下
下载一些依赖
sudo apt install build-essential cmake bison libncurses5-dev libssl-dev pkg-config
编辑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,再打开即可
编辑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
初始化mysqld
bin/mysqld --defaults-file=../etc/my.cnf --initialize-insecure
vscode 连接wsl2,安装以下插件
C/C++
C/C++ Clang Command Adapter
CodeLLDB
ubuntu 安装llvm clang
sudo apt install llvm clang
在sql_parser.cc 文件中的 do_command 处打断点,并点击vscode调试按钮,然后命令行执行
bin/mysql -uroot
最终效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。