CentOS 源码安装 MySQL

MySQL 是一个广泛使用的开源关系数据库管理系统,支持多种操作系统,包括 CentOS。在这篇文章中,我们将介绍如何在 CentOS上通过源码进行 MySQL 的安装,并提供相应的代码示例。

准备工作

在开始安装之前,请确保系统已经更新,并且安装了一些必要的开发工具和依赖项。

sudo yum update -y
sudo yum groupinstall "Development Tools" -y
sudo yum install cmake ncurses-devel bison -y

这些命令将更新您的系统并安装编译 MySQL 需要的开发工具和库。

下载 MySQL 源码

接下来,我们需要从 MySQL 官方网站下载源码包。这里以 MySQL 8.0.30 为例。

wget 
tar -zxvf mysql-8.0.30.tar.gz
cd mysql-8.0.30

创建构建目录

在 MySQL 源码目录中,我们创建一个单独的构建目录,以便将构建的文件分开管理。

mkdir build
cd build

配置编译选项

使用 CMake 来配置编译选项。您可以根据需要自定义 MySQL 的安装选项。以下示例包含了默认选项:

cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8mb4 \
-DDEFAULT_COLLATION=utf8mb4_general_ci \
-DENABLED_LOCAL_INFILE=1

编译和安装

在配置完成后,我们可以编译和安装 MySQL:

make
sudo make install

这个过程可能需要一些时间,具体取决于您的系统配置和性能。

初始化数据库

安装完成后,您需要初始化 MySQL 数据库:

cd /usr/local/mysql
sudo bin/mysqld --initialize --user=mysql

创建用户和配置权限

为了能够安全地访问 MySQL,建议创建一个新的数据库用户并配置相应的权限:

sudo bin/mysql_secure_installation

在设置过程中,您将被要求输入 root 用户的密码,并进行一系列的安全设置,例如删除匿名用户、禁止远程 root 登录等。

启动 MySQL 服务

登录后,就可以启动 MySQL 服务器了:

sudo bin/mysqld_safe --user=mysql &

至此,MySQL 已经成功在 CentOS 上通过源码安装完成。接下来,我们可以查询 MySQL 状态以确保其正常运行。

sudo bin/mysqladmin -u root -p status

输出将显示 MySQL 服务器的当前状态,如下所示:

变量
Uptime 1200
Threads 1
Questions 100
Slow queries

状态图示例

以下是 MySQL 安装的状态图,描述了安装过程中的各个步骤:

stateDiagram
    [*] --> 下载源码
    下载源码 --> 创建构建目录
    创建构建目录 --> 配置编译选项
    配置编译选项 --> 编译和安装
    编译和安装 --> 初始化数据库
    初始化数据库 --> 创建用户和配置权限
    创建用户和配置权限 --> 启动 MySQL 服务
    启动 MySQL 服务 --> [*]

结论

通过上述步骤,您已经成功地在 CentOS 上完成了 MySQL 的源码安装。该过程虽然有所复杂,但掌握安装流程后,您将能够更灵活地定制并配置 MySQL 数据库。希望本文能对您有所帮助,欢迎实践并提出改进建议!