在 Debian 12 上安装 MySQL Router 的步骤如下:
-
添加 MySQL APT 仓库
首先需要添加 MySQL 的官方 APT 仓库以获取最新版本的 MySQL Router。wget https://dev.mysql.com/get/mysql-apt-config_0.8.32-1_all.debsudo dpkg -i mysql-apt-config_0.8.32-1_all.deb安装过程中会弹出配置窗口,选择合适的 MySQL 版本(通常选择最新版本,如 8.0),然后点击“OK”。
-
更新 APT 仓库并安装 MySQL Router
更新包索引并安装 MySQL Router:sudo apt updatesudo apt install mysql-router -
验证安装
安装完成后,检查 MySQL Router 是否正确安装:mysqlrouter –version如果返回版本信息(如 MySQL Router 8.0.x),说明安装成功。
-
配置 MySQL Router
MySQL Router 的配置文件通常位于 /etc/mysqlrouter/mysqlrouter.conf。你需要根据你的 MySQL 集群(如 InnoDB Cluster 或 Group Replication)进行配置。示例配置(假设你有一个简单的读写分离设置):
[DEFAULT]user=mysqlrouterlogging_folder=/var/log/mysqlrouterruntime_folder=/var/run/mysqlrouter[routing:ro]bind_address=0.0.0.0bind_port=6447destinations=192.168.1.10:3306,192.168.1.11:3306routing_strategy=round-robinmode=read-only[routing:rw]bind_address=0.0.0.0bind_port=6446destinations=192.168.1.10:3306routing_strategy=first-availablemode=read-write- destinations:替换为你的 MySQL 服务器地址和端口。
- bind_port:Router 监听的端口,读写(rw)为 6446,读(ro)为 6447。
- 保存后,重启 MySQL Router:
sudo systemctl restart mysqlrouter -
启动并启用 MySQL Router
确保 MySQL Router 随系统启动:sudo systemctl enable mysqlrouter
sudo systemctl start mysqlrouter -
检查运行状态
确认 MySQL Router 是否正常运行:sudo systemctl status mysqlrouter -
测试连接
使用 MySQL 客户端测试读写分离是否正常工作:mysql -h 127.0.0.1 -P 6446 -u your_user -p # 读写连接mysql -h 127.0.0.1 -P 6447 -u your_user -p # 只读连接
注意事项:
-
确保你的 MySQL 服务器已正确配置(如启用了 Group Replication 或 InnoDB Cluster)。
-
如果使用防火墙,开放 MySQL Router 的监听端口(如 6446、6447)。
-
MySQL Router 需要与 MySQL 服务器版本兼容,建议使用相同的主版本(如 8.0)。
-
如果需要更复杂的配置(如与 InnoDB Cluster 集成),可以运行 mysqlrouter –bootstrap 自动生成配置文件:
mysqlrouter –bootstrap user@mysql-server:3306 –directory /etc/mysqlrouter
然后根据提示输入密码并生成配置。
如果遇到问题,请检查日志文件(默认位于 /var/log/mysqlrouter/mysqlrouter.log)以获取更多信息。