插件窝 干货文章 Debian 10.9.x编译安装MySQL8.0.x

Debian 10.9.x编译安装MySQL8.0.x

MySQL sudo bash local 119    来源:    2025-05-11

Debian 10.9.x 编译安装 MySQL 8.0.x 指南

准备工作

1. 安装依赖包

sudo apt update
sudo apt install -y build-essential cmake libncurses5-dev libssl-dev libboost-all-dev bison git

2. 下载 MySQL 8.0.x 源码

wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.x.tar.gz
# 替换x为具体版本号,例如:
# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.33.tar.gz
tar -zxvf mysql-8.0.x.tar.gz
cd mysql-8.0.x

编译安装

3. 配置编译选项

mkdir build
cd build
cmake .. \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DWITH_SSL=system \
-DWITH_ZLIB=system \
-DWITH_LIBWRAP=0 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DWITH_BOOST=../boost

4. 编译并安装

make -j$(nproc)
sudo make install

配置 MySQL

5. 创建 MySQL 用户和组

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

6. 初始化数据库

cd /usr/local/mysql
sudo mkdir -p data
sudo chown -R mysql:mysql .
sudo bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data

初始化完成后会显示临时密码,类似:

[Note] [MY-010454] [Server] A temporary password is generated for root@localhost: 临时密码

7. 配置 my.cnf

sudo cp support-files/mysql.server /etc/init.d/mysql
sudo cp support-files/my-default.cnf /etc/my.cnf

编辑 /etc/my.cnf

[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock

[client]
socket=/tmp/mysql.sock

8. 设置环境变量

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

启动 MySQL

9. 启动服务

sudo /etc/init.d/mysql start

10. 修改 root 密码

mysql -uroot -p
# 输入之前记录的临时密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';

11. 设置开机启动

sudo update-rc.d mysql defaults

常见问题解决

1. 编译错误:缺少 Boost

解决方法:

wget https://sourceforge.net/projects/boost/files/boost/1.73.0/boost_1_73_0.tar.gz
tar -zxvf boost_1_73_0.tar.gz
mv boost_1_73_0 mysql-8.0.x/boost

2. 启动时报错:找不到 libssl.so

解决方法:

sudo ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/libssl.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 /usr/lib/libcrypto.so

3. 连接时报错:socket 文件位置不对

解决方法:确保 /etc/my.cnf 中的 socket 路径与 MySQL 实际使用的路径一致。


以上就是在 Debian 10.9.x 上编译安装 MySQL 8.0.x 的完整步骤。如需安装特定小版本,请替换相应的版本号。