温馨提示×

debian如何编译mysql

小樊
43
2026-09-10 19:45:30
栏目: 云计算

下面给你一个在 Debian 上从源码编译 MySQL(以 MySQL 8.0 为例)的完整思路和步骤。如果你只是想“用 MySQL”,一般建议直接 apt install mysql-server,但如果你需要自定义编译参数、调试或学习源码,可以按下面来。


一、准备系统环境(Debian)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装编译依赖

sudo apt install -y \
  build-essential \
  cmake \
  bison \
  libncurses5-dev \
  libssl-dev \
  pkg-config \
  libtirpc-dev \
  wget \
  git \
  rpm

MySQL 8.0 需要 CMake 3.10+


二、下载 MySQL 源码

方式 1:官方源码包(推荐)

cd /usr/local/src
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.36.tar.gz
tar -xzf mysql-8.0.36.tar.gz
cd mysql-8.0.36

方式 2:GitHub(开发版)

git clone https://github.com/mysql/mysql-server.git
cd mysql-server

三、创建编译目录(推荐 out-of-source)

mkdir build
cd build

四、CMake 配置

基础编译配置

cmake .. \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_DATADIR=/usr/local/mysql/data \
  -DSYSCONFDIR=/etc \
  -DWITH_SSL=system \
  -DWITH_BOOST=/usr/local/boost \
  -DENABLED_LOCAL_INFILE=1 \
  -DCMAKE_BUILD_TYPE=Release

Boost 说明(重要)

MySQL 8.0 必须依赖 Boost

  • 如果没装:
sudo apt install libboost-dev

或使用:

-DWITH_BOOST=system

五、编译

make -j$(nproc)

编译时间取决于 CPU,一般 20–60 分钟


六、安装

sudo make install

七、初始化 MySQL

1. 创建用户

sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql

2. 目录权限

sudo chown -R mysql:mysql /usr/local/mysql

3. 初始化数据目录

cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql

注意终端会输出 root 临时密码


八、启动 MySQL

sudo bin/mysqld_safe --user=mysql &

或写 systemd 服务(推荐)


九、常见问题

1. CMake 报错

  • 检查 Boost
  • 检查 openssl 版本

2. 编译太慢

make -j4

3. Debian 12 注意事项

  • 使用 libssl-dev
  • 可能需要 libtirpc-dev

十、替代方案(不编译)

如果只是用:

sudo apt install mysql-server

如果你愿意,我可以:

  • 给你 Debian 11 / 12 专用脚本
  • 教你 编译 MySQL 5.7
  • 帮你 写 systemd 服务文件

你现在是学习源码,还是部署使用?

0