文章对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择最合适的安装方法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 【10月更文挑战第8天】本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务及登录设置等。同时,文章对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据自身需求选择最合适的安装方法。

随着业务的不断发展,对数据库的需求也越来越高。在 Linux 环境下,尤其是 CentOS 7 中,通过编译源码方式安装 MySQL 数据库是一种常见的做法。这种方法虽然相对复杂,但它能够提供更高的定制性和灵活性。本文将通过一个具体的案例来介绍如何在 CentOS 7 中通过编译源码的方式安装 MySQL 数据库,并与使用 RPM 包安装进行比较,以便读者能够根据自己的需求选择最合适的方法。

准备工作

首先,确保你的 CentOS 7 系统已更新到最新状态,并安装了必要的编译工具。可以使用以下命令进行更新和安装工具:

sudo yum update -y
sudo yum install -y gcc-c++ cmake make

下载 MySQL 源码

接下来,需要从 MySQL 官方网站下载 MySQL 的源代码包。假设我们要安装 MySQL 8.0.29,可以使用如下命令:

wget https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.29.tar.gz
tar -xzvf mysql-8.0.29.tar.gz
cd mysql-8.0.29

编译安装 MySQL

配置编译参数

在编译 MySQL 之前,需要配置编译参数。这一步非常重要,因为它决定了 MySQL 的功能和性能。

cmake \
    -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
    -DDEFAULT_CHARSET=utf8mb4 \
    -DDEFAULT_COLLATION=utf8mb4_unicode_ci \
    -DWITH_EXTRA_CHARSETS=all \
    -DWITH_MYISAM_STORAGE_ENGINE=1 \
    -DWITH_INNOBASE_STORAGE_ENGINE=1 \
    -DWITH_PARTITION_STORAGE_ENGINE=1 \
    -DWITH_READLINE=1 \
    -DWITH_ZLIB=system \
    -DWITH_LIBWRAP=0 \
    -DWITH_DEBUG=0 \
    -DENABLED_LOCAL_INFILE=1 \
    -DWITH_SSL=system \
    -DWITH_EMBEDDED_SERVER=1 \
    -DWITH_PLUGIN_DIR="/usr/local/mysql/lib/plugin" \
    .

编译和安装

配置完成后,可以开始编译和安装 MySQL。

make -j $(nproc)
sudo make install

配置 MySQL

创建 MySQL 用户和组

sudo groupadd mysql
sudo useradd -r -g mysql mysql

初始化 MySQL 数据库

sudo chown -R mysql:mysql /usr/local/mysql
sudo /usr/local/mysql/bin/mysqld --initialize --user=mysql

启动 MySQL 服务

sudo /usr/local/mysql/bin/mysqld_safe --user=mysql &

创建 MySQL 服务

为了让 MySQL 服务在系统启动时自动启动,需要创建一个 systemd 服务文件。

sudo cat > /etc/systemd/system/mysqld.service <<EOF
[Unit]
Description=MySQL Server
After=network.target

[Service]
User=mysql
Group=mysql
ExecStart=/usr/local/mysql/bin/mysqld_safe
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

然后启用并启动 MySQL 服务:

sudo systemctl enable mysqld
sudo systemctl start mysqld

登录 MySQL

登录 MySQL 服务器并设置 root 密码:

sudo /usr/local/mysql/bin/mysql -u root

设置 root 密码:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';
FLUSH PRIVILEGES;
EXIT;

与 RPM 包安装的比较

通过编译源码安装 MySQL 与使用 RPM 包安装相比,有以下区别:

  • 灵活性: 编译源码可以让你根据需要选择不同的编译选项,从而获得更符合需求的功能和性能。
  • 兼容性: 编译源码时可以确保 MySQL 与现有系统环境的兼容性。
  • 复杂性: 编译源码安装相对复杂,需要更多的时间和专业知识。
  • 维护: 使用 RPM 包安装的 MySQL 更容易维护和更新,因为可以通过包管理器轻松升级。
  • 社区支持: RPM 包安装通常会有更好的社区支持,包括文档和问题解决。

实践心得

在实际操作过程中,我们需要注意以下几点:

  • 备份: 在进行任何重大操作前,确保备份重要的数据。
  • 版本选择: 选择适合你业务需求的 MySQL 版本。
  • 安全性: 确保设置强密码并限制 root 用户的远程访问。
  • 性能调优: 根据实际负载情况调整 MySQL 的配置文件。

通过上述步骤,我们成功地在 CentOS 7 中通过编译源码的方式安装了 MySQL 数据库。尽管这种方法相对复杂,但它能够提供更高的定制性和灵活性。对于需要高度定制化安装的场景,编译源码安装无疑是一个很好的选择。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
IDE Unix Linux
Linux环境基础开发工具使用(yum软件安装工具的使用、vim编辑器使用及握gcc/g++编译器的使用等上)
在之前我配置环境那篇博客我写到的换国内的阿里源,就是指的yum源,如果我们使用默认国外的源,可能会出现连不上,或者网速极慢的情况
|
Ubuntu 计算机视觉
Ubuntu新手友好:OpenCV 4.6.0安装的简化教程
网络首发,一定可以成功 依赖环境
324 0
|
缓存 IDE NoSQL
【Linux】Linux环境基础工具的基本使用及配置(yum、vim)(上)
【Linux】Linux环境基础工具的基本使用及配置(yum、vim)(上)
|
Linux Shell 程序员
【Linux】Linux环境基础工具的基本使用及配置(yum、vim)(下)
【Linux】Linux环境基础工具的基本使用及配置(yum、vim)(下)
|
Linux
RPM包是干什么的?底层原理是什么?
RPM包是干什么的?底层原理是什么?
1595 0
|
数据挖掘 Python
Anaconda功能、优点、安装步骤(安装视频)
Anaconda功能、优点、安装步骤(安装视频)
171 0
Anaconda功能、优点、安装步骤(安装视频)
|
Linux Apache Windows
Linux安装及管理程序:rpm软件包、源代码安装( 时间最美的地方,就是让你我成为了我们)(二)
Linux安装及管理程序:rpm软件包、源代码安装( 时间最美的地方,就是让你我成为了我们)(二)
153 0
Linux安装及管理程序:rpm软件包、源代码安装( 时间最美的地方,就是让你我成为了我们)(二)
|
Ubuntu Linux Shell
Linux安装及管理程序:rpm软件包、源代码安装( 时间最美的地方,就是让你我成为了我们)(一)
Linux安装及管理程序:rpm软件包、源代码安装( 时间最美的地方,就是让你我成为了我们)(一)
434 0
Linux安装及管理程序:rpm软件包、源代码安装( 时间最美的地方,就是让你我成为了我们)(一)
|
测试技术
CMake实战四:安装测试和添加环境生成安装包
CMake 也可以指定安装规则,以及添加测试。这两个功能分别可以通过在产生 Makefile 后使用 make install 和 make test 来执行。在 GNU Makefile 里,你可能需要为此编写 install 和 test 两个伪目标和相应的规则,但在 CMake 里,这样的工作同样只需要简单的调用几条命令。
441 0