MySQL 8.4.5 源码编译安装指南
前言
MySQL 8.4.5 是当前最新的稳定版本之一。对于需要自定义编译选项或深度优化数据库性能的场景,源码编译安装是更好的选择。本文将详细介绍如何从源码编译并安装 MySQL 8.4.5,并提供完整的配置与初始化流程。
环境准备
-
操作系统: Ubuntu 22.04 LTS(其他 Linux 发行版类似)
-
用户权限: root 或具有 sudo 权限的用户
-
磁盘空间: 建议预留至少 5GB 空间
一、安装依赖工具
1. 安装编译工具链
sudo apt update sudo apt install -y \gcc g++ cmake make \libssl-dev libncurses-dev libtirpc-dev \bison libaio-dev libjemalloc-dev \pkg-config curl wget
2. 可选依赖
sudo apt install -y openssl libcurl4-openssl-dev
二、下载源码并解压
1. 下载 MySQL 8.4.5 源码
wget https://cdn.mysql.com//Downloads/MySQL-8.4/mysql-8.4.5.tar.gz
2. 解压源码
tar -zxvf mysql-8.4.5.tar.gz cd mysql-8.4.5
三、配置编译参数
1. 创建构建目录
mkdir -p build && cd build
2. 运行 CMake 配置
sudo cmake .. \-DCMAKE_INSTALL_PREFIX=/home/yym/mysql8.4.5/install/mysql \-DMYSQL_DATADIR=/home/yym/mysql8.4.5/install/data \-DSYSCONFDIR=/home/yym/mysql8.4.5/install/etc \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DDOWNLOAD_BOOST=1 \-DWITH_BOOST=../extra/boost \-DWITH_SSL=system \-DWITH_DEBUG=1
关键参数说明:
-
-DCMAKE_INSTALL_PREFIX
: 安装目录 -
-DMYSQL_DATADIR
: 数据库文件存储路径 -
-DWITH_BOOST
: 指定 Boost 库路径(自动下载)
四、编译与安装
1. 编译源码
sudo make -j$(nproc) # 使用多核加速编译
2. 安装到指定目录
sudo make install
五、配置 MySQL 服务
1. 创建系统用户和组
sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql
2. 创建数据与日志目录
cd /home/yym/mysql8.4.5/install sudo mkdir -p data logs tmp sudo chown -R mysql:mysql data logs tmp sudo chmod -R 750 data
3. 配置文件 my.cnf
sudo vim etc/my.cnf
添加以下内容:
[mysqld] user=mysql basedir=/home/yym/mysql8.4.5/install/mysql datadir=/home/yym/mysql8.4.5/install/data socket=/tmp/mysql.sock log-error=/home/yym/mysql8.4.5/install/logs/mysqld.log pid-file=/home/yym/mysql8.4.5/install/tmp/mysqld.pid[client] socket=/tmp/mysql.sock
六、初始化数据库
1. 初始化数据目录
cd /home/yym/mysql8.4.5/install/mysql/bin sudo ./mysqld \--defaults-file=/home/yym/mysql8.4.5/install/etc/my.cnf \--initialize \--user=mysql \--port=3306
2. 获取临时 root 密码
sudo cat ../logs/mysqld.log | grep "temporary password"
输出示例:
[Note] A temporary password is generated for root@localhost: 3e#kqJfjuq;e
七、启动 MySQL 服务
1. 启动服务
sudo ./mysqld_safe \--defaults-file=/home/yym/mysql8.4.5/install/etc/my.cnf \--user=mysql \--port=3306 &
2. 验证进程
ps aux | grep mysqld
八、修改 root 密码
1. 使用临时密码登录
./mysql -h127.0.0.1 -uroot -p -P3306
2. 修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; FLUSH PRIVILEGES; EXIT;
九、验证安装
1. 重新登录测试
./mysql -uroot -p123456
2. 查看数据库版本
SELECT VERSION();
常见问题解决
1. 编译时 Boost 库下载失败
手动下载 Boost 并解压到指定路径:
wget https://sourceforge.net/projects/boost/files/boost/1.77.0/boost_1_77_0.tar.gz tar -zxvf boost_1_77_0.tar.gz -C ../extra/boost --strip-components=1
2. 初始化时报权限错误
确保所有目录归属 mysql
用户:
sudo chown -R mysql:mysql /home/yym/mysql8.4.5/install
3. 启动时报 socket
文件缺失
检查 my.cnf
中 socket
路径是否正确,或手动创建目录:
sudo mkdir -p /tmp sudo chmod 777 /tmp
结语
通过上述步骤,您已成功完成 MySQL 8.4.5 的源码编译安装。此方法支持深度定制化配置,适合对数据库有特殊需求的场景。如果在操作中遇到问题,请优先检查日志文件 /home/yym/mysql8.4.5/install/logs/mysqld.log
,并根据错误提示调整配置。