MySQL 5.5.8是早期稳定版本之一,通过源代码编译安装可以灵活定制功能、优化性能,适配特定服务器环境。下面详细介绍完整的编译安装流程。

环境准备与依赖安装
编译MySQL 5.5.8需要提前安装必要的系统依赖和编译工具,以CentOS 6系统为例,执行以下命令安装依赖:
# 安装编译工具和基础依赖 yum install -y gcc gcc-c++ make cmake bison ncurses-devel openssl-devel # 安装额外的库依赖 yum install -y zlib-devel libxml2-devel
MySQL 5.5版本开始使用cmake作为编译配置工具,不再使用传统的configure脚本,因此需要确保cmake已经正确安装。
下载并解压源代码包
从MySQL官方归档地址获取5.5.8版本的源代码包,这里假定已经将源码包下载到服务器的/usr/local/src目录下:
# 进入源码存放目录 cd /usr/local/src # 解压源码包 tar -zxvf mysql-5.5.8.tar.gz # 进入解压后的目录 cd mysql-5.5.8
配置编译参数
使用cmake命令配置编译参数,可根据需求调整安装路径、功能模块等选项,以下是常用的配置示例:
cmake \ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_DATADIR=/usr/local/mysql/data \ -DSYSCONFDIR=/etc \ -DWITH_MYISAM_STORAGE_ENGINE=1 \ -DWITH_INNOBASE_STORAGE_ENGINE=1 \ -DWITH_MEMORY_STORAGE_ENGINE=1 \ -DWITH_READLINE=1 \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DMYSQL_TCP_PORT=3306 \ -DENABLED_LOCAL_INFILE=1 \ -DWITH_SSL=system \ -DDEFAULT_CHARSET=utf8 \ -DDEFAULT_COLLATION=utf8_general_ci
参数说明:
CMAKE_INSTALL_PREFIX:指定MySQL的安装目录MYSQL_DATADIR:指定数据文件存放目录WITH_MYISAM_STORAGE_ENGINE等:开启对应的存储引擎DEFAULT_CHARSET:设置默认字符集为utf8
如果配置过程出现错误,可以删除CMakeCache.txt文件后重新执行cmake命令。
编译与安装
配置完成后执行编译和安装命令,编译过程会根据服务器CPU核心数消耗一定时间:
# 编译,-j后面跟CPU核心数,加快编译速度 make -j 4 # 安装 make install
初始化MySQL系统库
安装完成后需要创建mysql用户和用户组,初始化系统数据库:
# 创建mysql用户组 groupadd mysql # 创建mysql用户,禁止登录系统 useradd -r -g mysql -s /sbin/nologin mysql # 进入MySQL安装目录 cd /usr/local/mysql # 修改目录所有者 chown -R mysql:mysql . # 初始化系统数据库 ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data # 再次修改目录权限,确保数据目录安全 chown -R root:root . chown -R mysql:mysql data
配置启动脚本与启动服务
将MySQL自带的启动脚本复制到系统服务目录,设置开机自启并启动服务:
# 复制启动脚本 cp support-files/mysql.server /etc/init.d/mysqld # 赋予执行权限 chmod +x /etc/init.d/mysqld # 设置开机自启 chkconfig mysqld on # 启动MySQL服务 service mysqld start
环境变量配置与验证
将MySQL的客户端命令路径添加到系统环境变量,方便直接使用mysql命令:
# 编辑环境变量配置文件 echo "export PATH=/usr/local/mysql/bin:\$PATH" >> /etc/profile # 使配置生效 source /etc/profile # 验证MySQL版本 mysql --version
如果输出mysql Ver 14.14 Distrib 5.5.8, for unknown-linux-gnu (x86_64) using EditLine wrapper则说明安装成功。
常见问题排查
编译时提示ncurses-devel缺失
执行yum install -y ncurses-devel安装对应依赖后,删除CMakeCache.txt重新配置即可。
启动服务时提示数据目录权限错误
检查/usr/local/mysql/data目录的所有者是否为mysql用户,执行chown -R mysql:mysql /usr/local/mysql/data修正权限后重新启动。