当前位置: 首页 > news >正文

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,并根据错误提示调整配置。

相关文章:

  • NLP 和大模型技术路线
  • Baichuan-Audio: 端到端语音交互统一框架
  • C#中读取文件夹(包含固定字样文件名)
  • 通过Kubernetes 外部 DNS控制器来自动管理Azure DNS 和 AKS
  • 算法中的数学:算术基本定理
  • QuecPython+腾讯云:快速连接腾讯云l0T平台
  • Hive优化秘籍:大数据处理加速之道
  • OpenGL超大分辨率图像显示
  • 恩智浦 GoPoint 全面解析:初学者的嵌入式 AI 学习指南
  • venv和pyenv在mac上
  • 【星海随笔】信息安全管理与法律法规
  • python3使用:macOS上通过Homebrew安装pip库
  • C++GO语言微服务项目之 go语言基础语法
  • Linux——特殊权限管理
  • 【STM32单片机】#14 PWR电源控制
  • 神经网络之互动练习详解:从基础到拟合非线性数据
  • C++ 内存泄漏相关
  • OpenShift AI - OpenShift 支持的 NVIDIA GPU 共享和分区技术 2
  • Netty 的 Reactor 模型
  • 我用cursor 搭建了临时邮箱服务-Temp Mail 365
  • 陕南多地供水形势严峻:有的已呼吁启用自备水井
  • 金融监管总局:正在修订并购贷款管理办法,将进一步释放并购贷款的潜力
  • 中国证监会:帮助受关税政策影响较大的上市公司纾困解难
  • 俄乌交换205名被俘人员,俄方人员已抵达白俄罗斯
  • 李翔宁:城市的每个人都参与了上海的建造,这一过程还在持续
  • 印巴军事对峙加剧,小规模冲突收场还是走向大战?