test-connection.sh 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #!/bin/bash
  2. echo "=========================================="
  3. echo " 数据库连接测试脚本"
  4. echo "=========================================="
  5. echo ""
  6. # 颜色定义
  7. GREEN='\033[0;32m'
  8. RED='\033[0;31m'
  9. YELLOW='\033[1;33m'
  10. NC='\033[0m' # No Color
  11. # 测试 SQL Server
  12. echo "1. 测试 SQL Server 连接"
  13. echo " 地址: 192.168.1.117:1433"
  14. echo " 数据库: UFDATA_997_2024 (测试环境)"
  15. echo " 用户名: sa"
  16. echo ""
  17. if nc -zv 192.168.1.117 1433 2>&1 | grep -q "succeeded\|open"; then
  18. echo -e " ${GREEN}✅ SQL Server 连接成功${NC}"
  19. else
  20. echo -e " ${RED}❌ SQL Server 连接失败${NC}"
  21. echo -e " ${YELLOW} 可能原因: 1) 不在公司内网 2) 防火墙阻止 3) 服务未启动${NC}"
  22. fi
  23. echo ""
  24. # 测试 MySQL
  25. echo "2. 测试 MySQL 连接"
  26. echo " 地址: 192.168.1.118:3306"
  27. echo " 数据库: cloudpivot (云枢)"
  28. echo " 用户名: root"
  29. echo ""
  30. if nc -zv 192.168.1.118 3306 2>&1 | grep -q "succeeded\|open"; then
  31. echo -e " ${GREEN}✅ MySQL 连接成功${NC}"
  32. else
  33. echo -e " ${RED}❌ MySQL 连接失败${NC}"
  34. echo -e " ${YELLOW} 可能原因: 1) 不在公司内网 2) 防火墙阻止 3) 服务未启动${NC}"
  35. fi
  36. echo ""
  37. # 测试 Redis
  38. echo "3. 测试 Redis 连接"
  39. echo " 地址: localhost:6379"
  40. echo " 密码: foobared"
  41. echo ""
  42. if nc -zv localhost 6379 2>&1 | grep -q "succeeded\|open"; then
  43. echo -e " ${GREEN}✅ Redis 连接成功${NC}"
  44. # 如果 redis-cli 可用,进一步测试
  45. if command -v redis-cli &> /dev/null; then
  46. echo " 测试 Redis 认证..."
  47. REDIS_RESULT=$(redis-cli -h localhost -p 6379 -a foobared ping 2>&1)
  48. if [ "$REDIS_RESULT" = "PONG" ]; then
  49. echo -e " ${GREEN}✅ Redis 认证成功${NC}"
  50. else
  51. echo -e " ${YELLOW}⚠️ Redis 认证失败: $REDIS_RESULT${NC}"
  52. fi
  53. fi
  54. else
  55. echo -e " ${RED}❌ Redis 连接失败${NC}"
  56. echo -e " ${YELLOW} Redis 需要在本地启动${NC}"
  57. echo -e " ${YELLOW} 启动方式: brew services start redis${NC}"
  58. echo -e " ${YELLOW} 或者: redis-server${NC}"
  59. fi
  60. echo ""
  61. echo "=========================================="
  62. echo " 测试完成"
  63. echo "=========================================="
  64. echo ""
  65. echo "如果所有连接都失败,请检查:"
  66. echo "1. 是否在公司内网或已连接 VPN"
  67. echo "2. 本地是否启动了 Redis"
  68. echo "3. 防火墙设置"