CentOS Stream 9 下安装和配置 MySQL Router 下完整的步骤:

1. 更新系统包列表

首先,确保系统的包列表是最新的:

sudo dnf update -y

2. 添加 MySQL Yum Repository

为了安装 MySQL Router,需要先添加 MySQL 官方的 Yum 仓库。

  1. 下载 MySQL Yum repository:
wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
  1. 安装 Yum repository:
sudo dnf install mysql80-community-release-el9-1.noarch.rpm

这将会添加 MySQL 8.0 的 Yum 仓库到你的系统中。

  1. 确保 MySQL 8.0 仓库已启用:
sudo dnf repolist enabled | grep mysql

你应该能够看到 MySQL 仓库,比如 mysql80-community.

3. 安装 MySQL Router

  1. 现在你可以通过以下命令安装 MySQL Router:
sudo dnf install mysql-router
  1. 安装完成后,确认 MySQL Router 版本:
mysqlrouter --version

4. 配置 MySQL Router

MySQL Router 可以通过自动引导方式与 MySQL InnoDB Cluster 一起配置,也可以手动配置。假设你已有 MySQL InnoDB Cluster 设置完毕。

4.1. 使用 MySQL Router 自动引导配置

使用 mysqlrouter--bootstrap 命令,可以根据 MySQL 集群的节点自动生成配置。

mysqlrouter --bootstrap <user>@<cluster_host>:<port> --directory /path/to/router-directory
  • <user>: MySQL 用户名,通常是具有适当权限的管理员用户。
  • <cluster_host>: MySQL InnoDB Cluster 的主节点地址。
  • <port>: MySQL 服务器的监听端口,通常为 3306
  • /path/to/router-directory: MySQL Router 的配置文件和数据存储的目录(如 /etc/mysqlrouter)。

运行上述命令后,系统会提示你输入 MySQL 用户的密码,MySQL Router 将会自动生成所需的配置文件。

4.2. 手动配置 MySQL Router

如果你希望手动配置,可以编辑生成的配置文件。MySQL Router 的配置文件通常位于 /etc/mysqlrouter/mysqlrouter.conf

一个典型的配置文件如下:

[DEFAULT]
user=mysqlrouter
logging_folder=/var/log/mysqlrouter
plugin_folder=/usr/lib64/mysqlrouter
runtime_folder=/var/run/mysqlrouter
config_folder=/etc/mysqlrouter

[logger]
level=INFO

[routing:primary]
bind_address=0.0.0.0
bind_port=7001
destinations=<primary_node_IP>:3306
mode=read-write

[routing:read-only]
bind_address=0.0.0.0
bind_port=7002
destinations=<secondary_node_IP>:3306
mode=read-only
  • bind_address: 指定 MySQL Router 绑定的地址,通常为 0.0.0.0,允许所有接口访问。
  • bind_port: 设置路由服务监听的端口。
  • destinations: MySQL 集群的节点地址。

5. 启动 MySQL Router

配置完成后,使用以下命令启动 MySQL Router 服务:

sudo systemctl start mysqlrouter

验证 MySQL Router 服务是否启动成功:

sudo systemctl status mysqlrouter

6. 设置开机自启

为了确保 MySQL Router 在系统重启后自动启动,可以设置开机自启:

sudo systemctl enable mysqlrouter

7. 验证 MySQL Router 端口

要确认 MySQL Router 正常工作并监听指定端口,可以使用以下命令检查:

ss -plnt | grep mysqlrouter

这将列出 MySQL Router 所监听的端口,例如:7001 和 7002。

8. 配置客户端连接

配置完 MySQL Router 后,你的应用程序可以通过 MySQL Router 访问集群。假设你的 MySQL Router 配置了读写路由在 7001 端口,客户端可以通过以下方式连接:

mysql -u <username> -p -h <mysql_router_host> -P 7001

其中 <mysql_router_host> 是 MySQL Router 所在主机的 IP 或主机名,7001 是路由监听的端口。

9. 日志与调试

MySQL Router 的日志通常存储在 /var/log/mysqlrouter 目录下。可以通过查看日志文件来进行调试:

tail -f /var/log/mysqlrouter/mysqlrouter.log

查看日志可以帮助你确认路由是否正常工作,或者找出配置中的错误。

小结

CentOS Stream 9 上安装和配置 MySQL Router 的过程主要涉及到添加 MySQL 官方 Yum 仓库、安装 MySQL Router 以及通过自动或手动方式进行配置。MySQL Router 是在多节点 MySQL 集群中提供透明路由和负载均衡的重要组件,通过 MySQL Router,你可以为应用程序提供高可用的数据库连接,同时管理集群中的读写分离和故障转移。

作者:严锋  创建时间:2024-09-06 16:40
最后编辑:严锋  更新时间:2025-05-22 13:03