HCRM博客

如何从源代码在 CentOS 上编译和安装 MySQL?

CentOS 编译安装 MySQL

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

如何从源代码在 CentOS 上编译和安装 MySQL?-图1
(图片来源网络,侵权删除)

准备工作

1、确保系统更新并安装必要的工具

确保你的 CentOS 7 系统已更新到最新状态。

安装必要的编译工具。

```bash

sudo yum update y

如何从源代码在 CentOS 上编译和安装 MySQL?-图2
(图片来源网络,侵权删除)

sudo yum install y gccc++ cmake make

```

2、下载 MySQL 源码

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

```bash

wget HTTPS://cdn.mysql.com//Downloads/MySQL8.0/mysql8.0.29.tar.gz

tar xzvf mysql8.0.29.tar.gz

cd mysql8.0.29

```

编译安装 MySQL

3、配置编译参数

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

```bash

cmake

DCMAKE_INSTALL_PREFIX=/usr/local/mysql

DDEFAULT_CHARSET=utf8mb4

DDEFAULT_COLLATION=utf8mb4_general_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"

.

```

4、编译和安装

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

```bash

make j $(nproc)

sudo make install

```

5、配置 MySQL

创建 MySQL 用户和组。

```bash

sudo groupadd mysql

sudo useradd r g mysql mysql

```

6、初始化 MySQL 数据库

```bash

sudo chown R mysql:mysql /usr/local/mysql

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

```

7、启动 MySQL 服务

```bash

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

```

8、创建 systemd 服务文件

```bash

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=multiuser.target

EOF

```

9、启用并启动 MySQL 服务

```bash

sudo systemctl enable mysqld

sudo systemctl start mysqld

```

10、登录 MySQL

```bash

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

```

11、设置 root 密码

```sql

ALTER USER 'root'@'localhost' IDENTIFIED BY 'your_password';

FLUSH PRIVILEGES;

EXIT;

```

与 RPM 包安装的比较

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

灵活性:编译源码可以让你根据需要选择不同的编译选项,从而获得更符合需求的功能和性能。

兼容性:编译源码时可以确保 MySQL 与现有系统环境的兼容性。

复杂性:编译源码安装相对复杂,需要更多的时间和专业知识。

维护:使用 RPM 包安装的 MySQL 更容易维护和更新,因为可以通过包管理器轻松升级。

社区支持:RPM 包安装通常会有更好的社区支持,包括文档和问题解决。

注意事项

备份:在进行任何重大操作前,确保备份重要的数据。

版本选择:选择适合你业务需求的 MySQL 版本。

安全性:确保设置强密码并限制 root 用户的远程访问。

性能调优:根据实际负载情况调整 MySQL 的配置文件。

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

分享:
扫描分享到社交APP
上一篇
下一篇