
MySQL 使用源码安装可以更灵活地自定义编译参数,适合对性能或功能有特殊要求的场景。虽然过程比二进制包安装复杂一些,但掌握后能更好地理解 MySQL 的运行机制。以下是详细的源码安装操作方法。
准备编译环境与依赖
在开始编译前,确保系统已安装必要的开发工具和库文件。
- 安装 GCC 编译器、CMake、make 等基础工具
- 安装 Boost 库(MySQL 5.7+ 需要)
- 安装 OpenSSL、zlib、ncurses 等依赖库
以 CentOS 为例:
yum install -y gcc gcc-c++ make cmake openssl-devel zlib-devel ncurses-devel bison git
如果使用 Ubuntu/Debian:
apt-get install build-essential cmake libssl-dev zlib1g-dev libncurses5-dev libboost-all-dev
下载并解压 MySQL 源码
从官方 GitHub 或 MySQL 官网获取源码包。
使用 Git 克隆(以 MySQL 8.0 为例):
git clone https://github.com/mysql/mysql-server.git -b 8.0 mysql-8.0-source
进入源码目录:
cd mysql-8.0-source
配置 CMake 编译选项
在源码根目录创建构建目录,避免污染源码:
mkdir build && cd build
运行 CMake 配置,常用参数如下:
cmake .. \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DDEFAULT_CHARSET=utf8mb4 \ -DDEFAULT_COLLATION=utf8mb4_unicode_ci \ -DENABLED_LOCAL_INFILE=ON \ -DWITH_SSL=system \ -DWITH_ZLIB=system \ -DWITH_BOOST=../boost
关键参数说明:
- CMAKE_INSTALL_PREFIX:指定安装路径
- DEFAULT_CHARSET/COLLATION:设置默认字符集
- WITH_BOOST:指定 Boost 路径(源码中通常自带)
- ENABLED_LOCAL_INFILE:允许 LOAD DATA LOCAL INFILE
若提示 Boost 缺失,可执行脚本自动下载:
scripts/bootstrap.sh
编译与安装
配置完成后开始编译,根据 CPU 核心数加快速度:
make -j$(nproc)
编译成功后安装到指定目录:
make install
整个过程可能耗时 20 分钟到数小时,取决于机器性能。
初始化 MySQL 数据库
安装完成后,进入安装目录进行初始化:
cd /usr/local/mysql
执行初始化命令:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
记录生成的临时 root 密码(出现在日志末尾)。
若未创建 mysql 用户,先执行:
useradd -r -s /sbin/nologin mysql
配置启动脚本与开机自启
复制服务脚本到系统目录:
cp support-files/mysql.server /etc/init.d/mysqld
设置权限并加入开机启动(CentOS 6 风格):
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
或使用 systemd(现代系统):
创建 /etc/systemd/system/mysqld.service 文件,写入标准 unit 内容后执行:
systemctl daemon-reload
systemctl enable mysqld
启动服务并设置密码
启动 MySQL:
/etc/init.d/mysqld start
登录并修改密码:
bin/mysql -u root -p
输入临时密码后执行:
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的新密码';
基本上就这些。源码安装虽然步骤多,但每一步都可控。注意备份配置、保留编译日志,便于排查问题。只要依赖齐全、参数正确,成功率很高。










