在Linux环境下从源码编译安装MySQL5.6,可以让我们根据实际需求定制功能并深入理解其运行依赖。通常我们需要准备编译工具、依赖库以及合理的系统账户规划,再通过cmake生成构建规则,最后编译安装到指定目录。

一、准备编译环境
以CentOS 7为例,先安装基础开发工具和MySQL编译所需的依赖。MySQL5.6使用cmake作为构建系统,不再支持早期的configure脚本。
# 安装编译依赖
yum install -y gcc gcc-c++ make cmake
ncurses-devel bison-devel openssl-devel
# 创建mysql运行用户和组
groupadd mysql
useradd -r -g mysql -s /bin/false mysql
二、下载并解压源码包
从官方或镜像站获取MySQL5.6源码压缩包,解压后进入目录准备配置。
wget https://ipipp.com/mysql-5.6.51.tar.gz tar zxvf mysql-5.6.51.tar.gz cd mysql-5.6.51
三、使用cmake配置编译参数
通过cmake指定安装路径、数据目录以及字符集等参数。以下为常用配置示例。
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_SSL=system
四、编译与安装
配置成功后执行make,编译完成后使用make install安装到目标目录。
make -j $(nproc) make install
五、初始化数据与启动服务
安装完成后需要初始化系统表并配置权限,然后启动mysqld服务。
# 进入安装目录 cd /usr/local/mysql # 初始化数据目录 scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data # 修改目录权限 chown -R mysql:mysql /usr/local/mysql # 启动MySQL bin/mysqld_safe --user=mysql &
常见问题说明
- 若cmake报错找不到ncurses,请确认已安装ncurses-devel包。
- 编译时建议添加-j参数以加快速度,但内存不足时可减少并行数。
- 初始化脚本执行后需记录root临时密码,首次登录后应及时修改。
简单连接测试
使用自带的客户端工具验证服务可用性:
/usr/local/mysql/bin/mysql -uroot -p
当能够进入MySQL命令行界面时,说明Linux环境下的MySQL5.6源码编译安装已经顺利完成。