蛙扑下载站:安全、绿色、放心的专业下载站! 首页|最近更新|专题集合|站内导航

MySQL 5.6 源码编译安装完整教程 CMake配置指南

时间:2026-10-03 16:50:00 来源:www.vaopo.com 人气:人

在Linux服务器上部署数据库时,使用源码编译安装往往能带来更好的性能调优空间和定制化需求。MySQL 5.6虽然版本较老,但在许多遗留系统和特定业务场景中依然稳定运行。相比RPM或二进制包,通过CMake进行源码编译需要一定的环境准备和参数配置。本文将详细拆解整个安装流程,从依赖安装到服务启动,确保你能够顺利跑通每一步。

系统环境与基础依赖准备

开始之前,请确认你的服务器运行的是CentOS 7或Ubuntu 16.04及以上版本。MySQL 5.6的源码编译对编译器有一定要求,GCC版本建议在4.8以上。首先更新系统包管理器,然后安装编译所需的工具链。对于CentOS系统,执行yum install gcc gcc-c++ make cmake ncurses-devel bison libaio-devel openssl-devel zlib-devel即可。如果是Ubuntu系统,则替换为apt-get install build-essential cmake libncurses5-dev bison libssl-dev zlib1g-dev。这些依赖库涵盖了编译过程、字符集处理以及网络通信所需的基础组件,缺一不可。

下载源码与解压操作

前往MySQL官网归档页面或使用国内镜像站下载mysql-5.6.x.tar.gz压缩包。建议使用wget命令直接下载到/usr/local/src目录,保持工作目录整洁。下载完成后,使用tar -zxvf命令解压文件。进入解压后的mysql-5.6目录,你会发现里面包含CMakeLists.txt文件,这就是后续配置的核心入口。此时不要急于运行configure,因为MySQL 5.6已经全面转向CMake构建系统,传统的./configure脚本已被弃用。

CMake核心参数配置详解

在源码根目录创建独立的build文件夹,执行cd build并初始化cmake。这一步是编译成败的关键,参数设置需要根据实际服务器情况调整。常用的基础命令如下:cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DENABLE_DOWNLOADS=1。其中安装路径默认指向/usr/local/mysql,数据目录建议单独挂载到/data/mysql以避免系统盘空间不足。配置文件存放位置设为/etc,方便统一查找。存储引擎参数按需求开启,关闭不需要的引擎可以减小最终体积。端口保持默认的3306,如有冲突可改为其他数值。若服务器网络受限导致下载boost库失败,需提前手动下载boost_1_59_0.tar.gz放入源码根目录,并在cmake命令中追加-DWITH_BOOST=/path/to/boost指定路径。

编译与安装执行步骤

CMake配置显示成功且无报错后,即可进入正式编译阶段。执行make命令,该过程会根据CPU核心数自动并行处理,通常耗时较长,具体取决于服务器算力。建议在make后加-j参数配合screen或tmux防止终端断开导致任务中断。待make进度达到百分之百后,执行make install完成文件部署。安装完成后,数据库文件会整齐分布在/usr/local/mysql目录下。此时需要创建专用的mysql用户和组来接管服务权限,执行groupadd mysql && useradd -r -g mysql mysql。接着将安装目录的所有权移交给mysql用户,chown -R mysql:mysql /usr/local/mysql。同时根据之前指定的数据目录创建对应文件夹并赋予相同权限。

初始化数据库与启动服务

权限就绪后,切换到mysql用户执行初始化脚本。进入/usr/local/mysql/scripts目录,运行./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql。注意5.6版本仍使用该脚本来生成系统表结构,而非新版mysqld_init。初始化成功后会在数据目录生成完整的ibdata文件和日志。接下来配置开机自启,将/support-files/mysql.server复制到/etc/init.d/mysqld并赋予执行权限。启动服务执行service mysqld start或systemctl start mysqld。首次登录使用空密码,命令行输入/usr/local/mysql/bin/mysql -u root -p直接回车进入。出于安全考虑,应立即执行SET PASSWORD FOR root=localhost=PASSWORD新密码;修改初始密码,并清理匿名用户账户。至此MySQL 5.6已完全就绪,可通过常规SQL客户端连接测试读写功能。