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

Linux系统安装MySQL5.7.17详细教程

时间:2026-10-06 15:24:25 来源:www.vaopo.com 人气:人

在Linux服务器环境中部署MySQL 5.7.17是搭建后端架构的基础环节。手动编译安装虽然比直接用yum或apt快一步,但能精确控制底层依赖与运行参数,特别适合对性能和安全有明确要求的场景。本教程以CentOS系列为例,涵盖环境准备、源码编译、目录规划、初始化配置及开机自启全流程,帮助开发者避开常见坑点,一次性跑通标准安装流程。

安装前的依赖环境必须齐全。MySQL 5.7.17强烈依赖CMake编译器、GCC/G++工具链以及Boost C++库。在终端中依次执行yum install cmake gcc gcc-c++ ncurses-devel bison libgcrypt zlib-devel openssl-devel来获取基础组件。Boost库的安装最为关键,建议提前下载boost_1_59_0.tar.gz并解压至系统根目录下的/usr/local/文件夹中,因为源码包内的configure脚本默认会去该路径查找对应版本,路径错配会导致编译直接报错退出。

下载源码与解压归档

通过wget命令将mysql-5.7.17-linux-glibc2.12-x86_64.tar.gz或完整源码包下载至工作目录。推荐使用国内镜像源拉取,速度更稳定。下载完成后使用tar zxvf指令解压,进入生成的文件夹核对内部结构。正式编译前务必规划好目录树,推荐将程序安装路径设定为/opt/mysql,数据存储路径设为/data/mysql,配置文件存放于/etc/mysql。清晰的目录划分能大幅降低后期运维与迁移的成本,避免权限混乱导致的启动失败。

CMake配置与编译构建

进入源码根目录后,执行cmake命令生成构建文件。核心参数需精准对应之前的目录规划。典型命令为cmake . -DCMAKE_INSTALL_PREFIX=/opt/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci -DWITH_BOOST=/usr/local/boost_1_59_0。配置无误后会输出CMake generation success提示。紧接着输入make -j4进行多线程编译,四核以上服务器建议开启并行任务以缩短等待时间。编译阶段主要消耗内存与CPU资源,若遇到内存溢出,可临时增加swap分区或减少并行线程数。

创建运行用户与权限分配

数据库绝对不建议使用root账户直接运行。执行groupadd mysql与useradd -r -g mysql mysql创建独立系统账号。随后利用chown -R mysql:mysql /opt/mysql及chown -R mysql:mysql /data/mysql命令将程序目录与数据目录的读写权限完全移交。同时检查/etc/my.cnf是否已存在,若无则新建该文件,填入socket路径、pid文件位置、监听端口及基础内存分配参数。合理的初始配置能防止服务启动时因找不到关键文件而直接崩溃。

初始化数据与启动守护进程

切换至mysql用户身份,进入/opt/mysql/bin目录执行mysqld --initialize --user=mysql --datadir=/data/mysql --basedir=/opt/mysql。该命令会扫描系统环境,生成系统表空间、随机根密码及SSL密钥文件。请务必复制屏幕最后几行显示的临时密码,它是首次登录的唯一凭证。初始化结束后,将support-files/mysql.server拷贝至/etc/init.d/并重命名为mysqld,赋予755执行权限。使用systemctl start mysqld或service mysqld start拉起服务,通过systemctl status查看日志确认状态码为active。

重置密码与安全策略配置

服务正常运行后,使用临时密码通过bin/mysql客户端登录。首先进入交互界面执行ALTER USER root@localhost IDENTIFIED BY 你的强密码;完成密码替换。若忘记临时密码,可在my.cnf中添加skip-grant-tables参数重启服务,免密登录后执行flush privileges再重新设密。生产环境务必禁用root远程连接,新建业务专属账号并绑定特定IP段。配合防火墙规则限制3306端口暴露面,定期编写cron脚本备份数据目录,即可保障5.7.17实例长期稳定运转。