CentOS7系统下从零开始安装源码版MySQL教程
centos7安装源码mysql

首页 2025-07-17 03:47:22



CentOS7 上安装源码编译 MySQL:深度指南 在数据中心和服务器环境中,MySQL 作为一款流行的开源关系型数据库管理系统(RDBMS),广泛应用于各种应用场景

    尽管通过 YUM 或 RPM 包管理器安装 MySQL 可以提供快速和便捷的部署方式,但有时候,出于性能优化、特定功能定制或学习目的,从源码编译安装 MySQL显得尤为必要

    本文将详细介绍如何在 CentOS7 上从源码编译安装 MySQL,确保每一步都精准无误,以发挥 MySQL 的最大效能

     一、准备工作 1. 系统更新 在进行任何安装之前,首先确保你的 CentOS7 系统是最新的

    这有助于避免潜在的兼容性问题

     bash sudo yum update -y 2. 安装必要的依赖 编译 MySQL 需要一系列开发工具和库文件

    以下命令将安装这些依赖: bash sudo yum groupinstall Development Tools -y sudo yum install cmake gcc-c++ ncurses-devel bison -y 3. 创建 MySQL 用户和组 出于安全考虑,MySQL 通常不以 root 用户身份运行

    因此,我们需要创建一个专门的用户和组

     bash sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql 二、下载 MySQL 源码 1. 访问 MySQL 官方网站 访问【MySQL官方网站】(https://dev.mysql.com/downloads/mysql/),选择适合你的版本的源码包

    通常,你会找到`.tar.gz`格式的压缩文件

     2. 使用 wget 下载源码 为了简化操作,可以直接在命令行中使用`wget` 命令下载源码包

    以下是一个示例命令(请根据实际情况替换版本号): bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx.tar.gz 3. 解压源码包 下载完成后,解压源码包到指定目录

     bash tar -zxvf mysql-8.0.xx.tar.gz cd mysql-8.0.xx 三、配置和编译 MySQL 1. 创建构建目录 为了保持源码目录的清洁,建议在源码目录之外创建一个构建目录

     bash mkdir build cd build 2. 运行 cmake 配置 在构建目录中运行`cmake` 命令,指定 MySQL 的安装路径和其他编译选项

    这里是一个基本的配置示例: bash 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_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/path/to/boost 如果系统未安装 Boost,cmake 会自动下载 注意:根据你的需求,可能需要调整上述选项

    例如,如果你不需要某些存储引擎,可以将其对应的选项设置为0

     3. 编译 MySQL 配置完成后,开始编译过程

    这个过程可能会花费一些时间,具体取决于你的系统性能

     bash make 4. 安装 MySQL 编译成功后,使用`make install` 命令安装 MySQL

     bash sudo make install 四、配置 MySQL 1. 设置目录权限 确保 MySQL 数据目录和安装目录具有正确的权限

     bash sudo chown -R mysql:mysql /usr/local/mysql sudo chown -R mysql:mysql /usr/local/mysql/data 2. 初始化数据库 在首次启动 MySQL 服务之前,需要初始化数据库

     bash sudo bin/mysqld --initialize --user=mysql 注意:此命令会生成一个临时密码,请务必记录下来,稍后在首次登录 MySQL 时使用

     3. 配置 MySQL 服务 为了方便管理,可以创建一个 systemd 服务文件

    创建一个名为`/etc/systemd/system/mysqld.service` 的文件,并添加以下内容: ini 【Unit】 Description=MySQL Server After=network.target After=syslog.target 【Service】 User=mysql Group=mysql ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE =5000 【Install】 WantedBy=multi-user.target 4. 启动 MySQL 服务 使用 systemd 启动 MySQL 服务,并设置开机自启

     bash sudo systemctl daemon-reload sudo systemctl start mysqld sudo systemctl enable mysqld 5. 安全配置 使用临时密码登录 MySQL,并运行`mysql_secure_installation`脚本进行安全配置,如设置新密码、移除匿名用户、禁止远程 root 登录等

     bash /usr/local/mysql/bin/mysql -u root -p 在提示符下输入临时密码,然后按提示完成安全配置

     五、验证安装 1. 登录 MySQL 使用新设置的 root 密码登录 MySQL,验证安装是否成功

     bash /usr/local/mysql/bin/mysql -u root -p 2. 执行简单查询 登录后,执行一些基本的 SQL 查询以确认 MySQL 运行正常

     sql SHOW DATABASES; 如果看到默认的数据库列表(如 information_schema、mysql、performance_schema、sys),则说明 MySQL 已成功安装并运行

     六、总结

MySQL连接就这么简单!本地远程、编程语言连接方法一网打尽
还在为MySQL日期计算头疼?这份加一天操作指南能解决90%问题
MySQL日志到底在哪里?Linux/Windows/macOS全平台查找方法在此
MySQL数据库管理工具全景评测:从Workbench到DBeaver的技术选型指南
MySQL密码忘了怎么办?这份重置指南能救急,Windows/Linux/Mac都适用
你的MySQL为什么经常卡死?可能是锁表在作怪!快速排查方法在此
MySQL单表卡爆怎么办?从策略到实战,一文掌握「分表」救命技巧
清空MySQL数据表千万别用错!DELETE和TRUNCATE这个区别可能导致重大事故
你的MySQL中文排序一团糟?记住这几点,轻松实现准确拼音排序!
别再混淆Hive和MySQL了!读懂它们的天壤之别,才算摸到大数据的门道