在 CentOS Stream 9 下安装和配置 MySQL Router 下完整的步骤:
1. 更新系统包列表
首先,确保系统的包列表是最新的:
sudo dnf update -y
2. 添加 MySQL Yum Repository
为了安装 MySQL Router,需要先添加 MySQL 官方的 Yum 仓库。
- 下载 MySQL Yum repository:
wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
- 安装 Yum repository:
sudo dnf install mysql80-community-release-el9-1.noarch.rpm
这将会添加 MySQL 8.0 的 Yum 仓库到你的系统中。
- 确保 MySQL 8.0 仓库已启用:
sudo dnf repolist enabled | grep mysql
你应该能够看到 MySQL 仓库,比如 mysql80-community
.
3. 安装 MySQL Router
- 现在你可以通过以下命令安装 MySQL Router:
sudo dnf install mysql-router
- 安装完成后,确认 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,你可以为应用程序提供高可用的数据库连接,同时管理集群中的读写分离和故障转移。
最后编辑:严锋 更新时间:2025-05-22 13:03