CentOS7上安装MySQL8:详细Make编译教程

centos7 mysql8 make

时间:2025-07-11 23:31


在 CentOS7 上编译安装 MySQL8:详细指南 在当今的数据驱动世界中,MySQL 作为一款开源的关系型数据库管理系统,凭借其高性能、可靠性和易用性,成为了众多企业和开发者的首选

    尤其是 MySQL8 版本,引入了诸多新特性和性能改进,进一步提升了其竞争力

    尽管许多 Linux 发行版提供了预编译的 MySQL 软件包,但在某些情况下,从源代码编译安装 MySQL 可以提供更高的自定义程度和更好的兼容性

    本文将详细介绍如何在 CentOS7 上编译安装 MySQL8

     一、准备工作 在开始之前,确保你的 CentOS7 系统已经更新到最新版本,并且具备必要的依赖项

    编译 MySQL8 需要一个完整的开发工具链和一些特定的库文件

     1.更新系统 首先,更新你的 CentOS7 系统以确保所有软件包都是最新的: bash sudo yum update -y 2.安装开发工具链 编译 MySQL 需要 GCC编译器和其他开发工具

    你可以通过以下命令安装这些工具: bash sudo yum groupinstall Development Tools -y 3.安装必要的库文件 MySQL编译过程中依赖多个库文件,包括 CMake(构建系统)、Boost(C++ 库)、Numactl(内存管理库)等

    使用以下命令安装这些依赖项: bash sudo yum install cmake gcc-c++ ncurses-devel bison zlib-devel openssl-devel libaio-devel -y sudo yum install boost boost-devel -y Boost库可能需要启用EPEL仓库 sudo yum install numactl-devel -y 注意:如果系统提示找不到 Boost 库,你可能需要启用 EPEL(Extra Packages for Enterprise Linux)仓库

    可以使用以下命令启用 EPEL仓库: bash sudo yum install epel-release -y 二、下载 MySQL8源代码 接下来,从 MySQL官方网站下载 MySQL8 的源代码

    访问 MySQL官方网站或使用 wget 命令直接下载

     1.访问 MySQL 官方网站 你可以通过浏览器访问【MySQL官方网站】(https://dev.mysql.com/downloads/mysql/) 下载页面,选择适合你系统的 MySQL8 版本,并下载对应的源代码压缩包

     2.使用 wget 命令下载 或者,你可以直接在终端中使用 wget 命令下载源代码

    例如,下载 MySQL8.0.x版本的源代码: bash wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.xx.tar.gz 注意:将`xx`替换为你下载的具体版本号

     3.解压源代码 下载完成后,解压源代码压缩包: bash tar -zxvf mysql-8.0.xx.tar.gz cd mysql-8.0.xx 三、配置和编译 MySQL 在解压源代码并进入目录后,使用 CMake 配置编译选项,然后进行编译和安装

     1.使用 CMake 配置 CMake 是一个跨平台的自动化构建系统,它使用 CMakeLists.txt 文件来生成标准的构建文件

    运行以下命令配置 MySQL 的编译选项: bash mkdir build cd build cmake .. -DDOWNLOAD_BOOST=1 -DWITH_BOOST=../../boost -DWITH_SSL=system -DDEFAULT_CHARSET=utf8mb4 -DDEFAULT_COLLATION=utf8mb4_general_ci 这里解释一下各个选项的含义: -`-DDOWNLOAD_BOOST=1` 和`-DWITH_BOOST=../../boost`:指定 CMake 下载并使用 Boost 库

    如果你已经手动安装了 Boost 库,可以省略这些选项,CMake 会自动找到已安装的 Boost 库

     -`-DWITH_SSL=system`:使用系统提供的 SSL 库

     -`-DDEFAULT_CHARSET=utf8mb4` 和`-DDEFAULT_COLLATION=utf8mb4_general_ci`:设置默认的字符集和排序规则为 utf8mb4

     2.编译 MySQL 配置完成后,开始编译 MySQL

    这个过程可能需要一些时间,具体取决于你的系统性能: bash make 3.安装 MySQL 编译成功后,运行以下命令安装 MySQL: bash sudo make install 四、初始化数据库和启动 MySQL 服务 安装完成后,你需要初始化数据库并启动 MySQL 服务

     1.初始化数据库 使用 mysqld 命令初始化数据库: bash sudo bin/mysqld --initialize --user=mysql 注意:这条命令会在终端输出一个临时密码,用于首次登录 MySQL

    请务必记录下这个密码

     2.设置 MySQL 服务 为了方便管理,你可以将 MySQL 服务添加到 systemd 中

    创建一个 systemd 服务文件`/etc/systemd/system/mysqld.service`: bash sudo nano /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 注意:将`/usr/local/mysql/bin/mysqld`替换为你实际安装的 MySQL 可执行文件路径

    同时,确保`/etc/my.cnf` 是你的 MySQL配置文件路径

     3.启动 MySQL 服务 重新加载 systemd 配置并启动 MySQL 服务: bash sudo systemctl daemon-reload sudo systemctl start mysqld 4.设置 MySQL 服务开机自启 为了在系统启动时自动启动 MySQL 服务,运行以下命令: bash sudo systemctl enable mysqld 五、安全配置和登录 MySQL 最后,进行一些安全配置并登录 MySQL

     1.运行安全脚本 MySQL 提供了一个安全脚本,用于设置 root 密码、删除匿名用户、禁止 root远程登录等

    运行以下命令执行安全脚本: bash sudo bin/mysql_secure_installation 按照提示设置 root 密码并进行其他安全配置

     2.登录 MySQL 使用新设置的 root 密码登录 MySQL: bash bin/mysql -u root -p 输入密码后,你将进入 MySQL命令行界面

     六、总结 通过本文的详细步骤,你应该能够在 Cen