保姆级教程:在Linux上从零部署Mycat2 1.21(附权限配置与连接测试) 从零开始Linux环境下Mycat2 1.21安全部署全指南第一次接触分布式数据库中间件时面对陌生的术语和复杂的配置流程很多开发者都会感到无从下手。Mycat2作为一款开源的数据库中间件能够有效解决单机数据库的性能瓶颈问题但它的部署过程却常常成为新手的第一道门槛。本文将带你以最安全、最规范的方式在CentOS 7系统上完成Mycat2 1.21的完整部署避开那些容易导致失败的坑点。1. 环境准备与安全考量在开始安装前我们需要确保基础环境符合要求。Mycat2基于Java开发因此需要预先安装JDK 1.8或以上版本。通过以下命令检查Java环境java -version如果未安装可以使用yum快速安装OpenJDKsudo yum install -y java-1.8.0-openjdk安全警示很多教程会建议直接给Mycat目录赋予777权限这种做法存在严重的安全隐患。正确的做法应该是创建专用系统账户运行Mycat严格控制目录权限仅对必要文件赋予最小权限执行以下命令创建mycat系统用户sudo useradd -r -s /bin/false mycat2. 文件下载与目录规划从Mycat官网下载两个必需组件启动包mycat2-install-template-1.21.zip核心jar包mycat2-1.21-release.jar建议在服务器上创建专用目录存放这些文件mkdir -p /opt/mycat2/{downloads,install} cd /opt/mycat2/downloads使用wget下载文件请替换为实际下载链接wget http://www.mycat.org.cn/1.21-release/mycat2-1.21-release.jar wget http://www.mycat.org.cn/install-template/mycat2-install-template-1.21.zip解压启动包到安装目录unzip mycat2-install-template-1.21.zip -d /opt/mycat2/install3. 安全权限配置详解将核心jar包移动到lib目录并设置正确的权限cp mycat2-1.21-release.jar /opt/mycat2/install/mycat/lib/ chown -R mycat:mycat /opt/mycat2/install/mycat关键目录的最小权限设置目录推荐权限说明bin750可执行文件目录conf640配置文件目录lib440库文件目录logs740日志目录设置权限的具体命令cd /opt/mycat2/install/mycat chmod 750 bin chmod 640 conf/* chmod 440 lib/* chmod 740 logs4. 数据库用户与连接配置在MySQL中创建专用账户时应该遵循最小权限原则。以下是推荐的SQL命令CREATE USER mycat% IDENTIFIED BY ComplexPassword123!; GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO mycat%; FLUSH PRIVILEGES;修改prototypeDs.datasource.json配置文件时需要注意以下关键参数{ dbType: mysql, url: jdbc:mysql://localhost:3306?useSSLfalseserverTimezoneAsia/Shanghai, user: mycat, password: ComplexPassword123!, maxCon: 100, minCon: 5 }提示生产环境务必启用SSL连接示例中禁用仅用于测试环境5. 服务启动与状态监控使用systemd管理Mycat服务更加可靠。创建服务文件sudo vi /etc/systemd/system/mycat.service添加以下内容[Unit] DescriptionMycat2 Database Middleware Afternetwork.target [Service] Usermycat Groupmycat WorkingDirectory/opt/mycat2/install/mycat ExecStart/opt/mycat2/install/mycat/bin/mycat console Restartalways [Install] WantedBymulti-user.target启用并启动服务sudo systemctl daemon-reload sudo systemctl enable mycat sudo systemctl start mycat检查服务状态和日志systemctl status mycat tail -f /opt/mycat2/install/mycat/logs/wrapper.log6. 连接测试与故障排查使用DBeaver或Navicat连接Mycat时基础配置如下主机服务器IP端口8066用户名root密码123456建议修改常见连接问题及解决方案连接超时检查防火墙规则sudo firewall-cmd --list-ports开放8066端口sudo firewall-cmd --add-port8066/tcp --permanent认证失败确认用户配置/opt/mycat2/install/mycat/conf/users/root.user.json修改后重启服务内存不足调整JVM参数修改conf/wrapper.conf中的内存设置7. 生产环境优化建议对于正式部署环境还需要考虑以下优化措施日志轮转配置logrotate防止日志文件过大监控集成对接Prometheus监控关键指标高可用部署多个Mycat节点并使用负载均衡定期备份备份conf目录下的所有配置文件日志轮转配置示例/etc/logrotate.d/mycat/opt/mycat2/install/mycat/logs/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 mycat mycat sharedscripts postrotate /bin/kill -HUP cat /var/run/mycat.pid 2/dev/null 2/dev/null || true endscript }在实际项目中我们发现最常出现的问题是权限配置不当导致的启动失败。通过遵循本文的最小权限原则可以避免90%的部署问题。