下面给你一个在 Debian 上从源码编译 MySQL(以 MySQL 8.0 为例)的完整思路和步骤。如果你只是想“用 MySQL”,一般建议直接 apt install mysql-server,但如果你需要自定义编译参数、调试或学习源码,可以按下面来。
sudo apt update
sudo apt upgrade -y
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+
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
git clone https://github.com/mysql/mysql-server.git
cd mysql-server
mkdir build
cd build
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
MySQL 8.0 必须依赖 Boost
sudo apt install libboost-dev
或使用:
-DWITH_BOOST=system
make -j$(nproc)
编译时间取决于 CPU,一般 20–60 分钟
sudo make install
sudo groupadd mysql
sudo useradd -r -g mysql -s /bin/false mysql
sudo chown -R mysql:mysql /usr/local/mysql
cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql
注意终端会输出 root 临时密码
sudo bin/mysqld_safe --user=mysql &
或写 systemd 服务(推荐)
make -j4
libssl-devlibtirpc-dev如果只是用:
sudo apt install mysql-server
如果你愿意,我可以:
你现在是学习源码,还是部署使用?