乐于分享
好东西不私藏

MySQL 5.7 源码编译安装全流程实战

MySQL 5.7 源码编译安装全流程实战

技术弄巷

读完仅需

5
分钟

记得星标公众号

前言

MySQL 源码编译安装是企业生产环境的常用部署方式,可自定义安装路径、数据目录、存储引擎与字符集,适配业务专属需求。相比 YUM 安装,编译方式更灵活、可控,适合定制化数据库环境。

本文以 CentOS 7 为基础,完整演示 MySQL 5.7 源码编译、环境规划、依赖安装、参数配置、服务启动与密码初始化全流程,步骤清晰、可直接复制执行,适合运维人员学习与生产落地。

一、环境规划(生产规范)

  • 数据目录:/mysql/data(逻辑卷,ext4 文件系统)
  • 二进制日志目录:/mysql/log(逻辑卷,ext4 文件系统)

清理旧数据:

rm -rf /mysql/data/* /mysql/log/*

二、卸载系统自带 MariaDB

# 查询自带包
rpm -qa | grep mariadb

# 强制卸载
rpm -e --nodeps mariadb-libs

三、创建专用用户与目录授权

# 创建系统用户(禁止登录)
useradd -s /sbin/nologin mysql

# 授权目录
chown -R mysql:mysql /mysql/data
chown -R mysql:mysql /mysql/log

四、安装编译依赖

# 基础编译工具
yum install gcc cmake ncurses-devel -y

# 开发工具组(解决编译报错)
yum groupinstall -y "Development Tools""Server Platform Development"

五、编译配置与安装

1. 解压源码包

tar xf mysql-boost-5.7.17.tar.gz
cd mysql-5.7.17

2. CMake 编译参数(定制化配置)

cmake . \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql57 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_DATADIR=/mysql/data \
-DMYSQL_TCP_PORT=3306 \
-DWITH_BOOST=boost/boost_1_59_0/ \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1

3. 编译与安装

make && make install

4. 目录权限修正

chown -R root:mysql /usr/local/mysql57

六、初始化数据库

mysqld --initialize \
--user=mysql \
--basedir=/usr/local/mysql57 \
--datadir=/mysql/data

注意:初始化日志末尾会生成 临时 root 密码,务必记录!


七、配置 my.cnf

cp /usr/local/mysql57/support-files/my-default.cnf /etc/my.cnf
vim /etc/my.cnf

写入核心配置:

[mysqld]
log_bin=/mysql/log/master
basedir=/usr/local/mysql57
datadir=/mysql/data
port=3306
server_id=11
socket=/tmp/mysql.sock

八、配置系统服务

# 复制启动脚本
cp /usr/local/mysql57/support-files/mysql.server /etc/init.d/mysqld
chmod a+x /etc/init.d/mysqld

# 开机自启
vim /etc/rc.d/rc.local
# 添加:/etc/init.d/mysqld start
chmod a+x /etc/rc.local

九、启动 MySQL

/etc/init.d/mysqld start

# 验证端口与进程
netstat -antp | grep mysql
ps -elf | grep mysql

十、配置环境变量与修改密码

1. 全局生效环境变量

vim /etc/profile
export PATH=$PATH:/usr/local/mysql57
source /etc/profile

2. 修改 root 密码

# 用临时密码登录修改
mysqladmin -uroot -p password "redhat"

# 登录测试
mysql -uroot -predhat

核心要点总结

  1. 编译安装优势
    :路径、引擎、字符集可完全定制,适配生产环境。
  2. 关键目录
    :数据目录 /mysql/data、日志目录 /mysql/log,必须独立挂载。
  3. 用户权限
    :用 mysql系统用户运行,禁止 root 直接启动。
  4. 初始化
    :--initialize生成临时密码,务必保存。
  5. 编译依赖
    :提前装 gcc、cmake、ncurses-devel,避免报错。
  6. 服务管理
    :用 mysqld脚本管理,支持开机自启。

结尾互动

MySQL 源码编译是运维进阶必备技能,能完全掌控数据库环境,适配复杂业务需求。

如果这份完整编译教程对你有帮助,欢迎点赞、在看、转发给运维同行! 关注我,持续更新 MySQL 主从复制、备份恢复、性能调优等硬核内容,一起做专业数据库运维人!

如果你平时总在琢磨,怎么把自己的技术能力和 AI 红利结合起来,多赚一份靠谱的收入?

这本《豆包 AI 时代创富实战指南》,就是帮你把想法落地的「实操手册」。不用从零试错,不用自己瞎找方向,从豆包提示词模板,到普通人能直接上手的 AI 副业项目,再到接单、避坑的完整流程,都给你梳理得明明白白。

一杯咖啡的钱,换一套能直接开工的 AI 变现思路,不管是想搞副业增收,还是给技术能力加一层「变现 buff」,都值得一看。

👇点击下方卡片,把 AI 红利变成你的真金白银

相关学习资料