前言
社区里有个话题很有意思,讨论的是像 MySQL 这样的有状态应用是否应该使用 Docker 来部署。一方认为 Docker 部署方便,运行环境隔离更安全,而且数据也可以挂载到外部。另一方则认为 Docker 在 IO 性能上存在瓶颈,Docker 本质上是为无状态应用设计的。两方的观点都有道理,我认为需要具体情况具体分析。如果是本地开发和学习,用 Docker 部署是可以的,但在生产环境中,还是建议部署在裸金属服务器上。因此,我打算在 WSL 上编译安装 MySQL,看看实际操作有多不便,性能提升又能有多少。
环境
- 操作系统:Windows 11 23H2
- CPU:i5-1135G7 2.40GHz
- 内存:DDR4 3200MHz 32GB
- WSL:Ubuntu 24.04
准备工作
参考 MySQL 官方文档 从零开始:Windows 11 安装使用 WSL
先决条件
安装依赖
|
|
准备好 Boost C++ 库
|
|
下载源码
|
|
编译和安装
解压并打开文件夹:tar -xzf mysql-8.4.0.tar.gz && cd mysql-8.4.0
MySQL:Build outside of the source tree to keep the tree clean. 为了保持源码树的整洁,请在源码树之外进行构建。
创建一个空的文件夹并切换:mkdir bld && cd bld
配置构建目录:cmake ..
开始编译和安装:make -j $(nproc) && make install -j $(nproc)