#!/bin/bash echo "==========================================" echo " 数据库连接测试脚本" echo "==========================================" echo "" # 颜色定义 GREEN='\033[0;32m' RED='\033[0;31m' YELLOW='\033[1;33m' NC='\033[0m' # No Color # 测试 SQL Server echo "1. 测试 SQL Server 连接" echo " 地址: 192.168.1.117:1433" echo " 数据库: UFDATA_997_2024 (测试环境)" echo " 用户名: sa" echo "" if nc -zv 192.168.1.117 1433 2>&1 | grep -q "succeeded\|open"; then echo -e " ${GREEN}✅ SQL Server 连接成功${NC}" else echo -e " ${RED}❌ SQL Server 连接失败${NC}" echo -e " ${YELLOW} 可能原因: 1) 不在公司内网 2) 防火墙阻止 3) 服务未启动${NC}" fi echo "" # 测试 MySQL echo "2. 测试 MySQL 连接" echo " 地址: 192.168.1.118:3306" echo " 数据库: cloudpivot (云枢)" echo " 用户名: root" echo "" if nc -zv 192.168.1.118 3306 2>&1 | grep -q "succeeded\|open"; then echo -e " ${GREEN}✅ MySQL 连接成功${NC}" else echo -e " ${RED}❌ MySQL 连接失败${NC}" echo -e " ${YELLOW} 可能原因: 1) 不在公司内网 2) 防火墙阻止 3) 服务未启动${NC}" fi echo "" # 测试 Redis echo "3. 测试 Redis 连接" echo " 地址: localhost:6379" echo " 密码: foobared" echo "" if nc -zv localhost 6379 2>&1 | grep -q "succeeded\|open"; then echo -e " ${GREEN}✅ Redis 连接成功${NC}" # 如果 redis-cli 可用,进一步测试 if command -v redis-cli &> /dev/null; then echo " 测试 Redis 认证..." REDIS_RESULT=$(redis-cli -h localhost -p 6379 -a foobared ping 2>&1) if [ "$REDIS_RESULT" = "PONG" ]; then echo -e " ${GREEN}✅ Redis 认证成功${NC}" else echo -e " ${YELLOW}⚠️ Redis 认证失败: $REDIS_RESULT${NC}" fi fi else echo -e " ${RED}❌ Redis 连接失败${NC}" echo -e " ${YELLOW} Redis 需要在本地启动${NC}" echo -e " ${YELLOW} 启动方式: brew services start redis${NC}" echo -e " ${YELLOW} 或者: redis-server${NC}" fi echo "" echo "==========================================" echo " 测试完成" echo "==========================================" echo "" echo "如果所有连接都失败,请检查:" echo "1. 是否在公司内网或已连接 VPN" echo "2. 本地是否启动了 Redis" echo "3. 防火墙设置"