温馨提示×

如何编译安装Debian MySQL

小樊
47
2026-08-14 23:40:04
栏目: 云计算

在 Debian 系统上**编译安装 MySQL(源码方式)**通常用于需要特定版本或自定义参数的场景。下面以 Debian 11/12 为例,详细说明从源码编译安装 MySQL 的完整流程(以 MySQL 8.0 为例)。


一、准备环境

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装编译依赖

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

MySQL 8.0 以后 不再支持 autotools,必须使用 CMake


二、下载 MySQL 源码

1. 官方下载(推荐)

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

或使用 Git(较慢):

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

三、创建编译目录

强烈建议 out-of-source 编译

mkdir build
cd build

四、CMake 配置

1. 基本配置(常用)

cmake .. \
  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
  -DMYSQL_DATADIR=/usr/local/mysql/data \
  -DSYSCONFDIR=/etc \
  -DMYSQL_TCP_PORT=3306 \
  -DWITH_SSL=system \
  -DWITH_INNOBASE_STORAGE_ENGINE=1 \
  -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
  -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
  -DENABLED_LOCAL_INFILE=1 \
  -DDEFAULT_CHARSET=utf8mb4 \
  -DDEFAULT_COLLATION=utf8mb4_general_ci

2. 查看配置是否成功

echo $?

返回 0 表示成功。


五、编译

make -j$(nproc)

编译时间较长(10–40 分钟,取决于 CPU)


六、安装

sudo make install

安装完成后:

ls /usr/local/mysql

七、创建 MySQL 用户和目录

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

sudo mkdir -p /usr/local/mysql/data
sudo chown -R mysql:mysql /usr/local/mysql

八、初始化数据库

cd /usr/local/mysql
sudo bin/mysqld \
  --initialize \
  --user=mysql \
  --basedir=/usr/local/mysql \
  --datadir=/usr/local/mysql/data

初始化后会生成 root 临时密码,请记录:

[Note] A temporary password is generated for root@localhost: xxxxxxxx

九、启动 MySQL

1. 手动启动

sudo bin/mysqld_safe --user=mysql &

2. 登录

/usr/local/mysql/bin/mysql -u root -p

十、配置 systemd(推荐)

1. 创建服务文件

sudo nano /etc/systemd/system/mysqld.service

内容:

[Unit]
Description=MySQL Server
After=network.target

[Service]
Type=forking
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe
ExecStop=/usr/local/mysql/bin/mysqladmin shutdown
Restart=on-failure

[Install]
WantedBy=multi-user.target

2. 启用并启动

sudo systemctl daemon-reload
sudo systemctl enable mysqld
sudo systemctl start mysqld

十一、配置环境变量(可选)

echo 'export PATH=/usr/local/mysql/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

十二、安全配置(强烈建议)

/usr/local/mysql/bin/mysql_secure_installation

十三、常见问题

1. 编译失败:内存不足

make -j2

2. 缺少 Boost

MySQL 8 需要 Boost:

sudo apt install libboost-all-dev

或在 CMake 中指定:

-DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost

十四、不推荐场景

✅ 推荐 APT 安装(除非你有特殊需求):

sudo apt install mysql-server

总结

步骤 说明
依赖 build-essential、cmake
编译 make -j
安装 make install
初始化 mysqld --initialize
启动 systemd / mysqld_safe

如果你需要:

  • 指定 MySQL 版本
  • 编译 Percona / MariaDB
  • Debian + MySQL 主从
  • 编译参数优化(生产环境)

可以直接告诉我你的具体需求。

0