`
dajian0822
  • 浏览: 6581 次
社区版块
存档分类
最新评论

判断 Mysql服务端是否在线

阅读更多
在操作MySQL时候需要判断Connection连接是否可用。
本人试验2种方式:
   1.Socket(直连通过MySQL服务端IP、port来连接)
   2.使用查询是否可用,否则抛异常来判断

本人选择第二种方式来判断

第一种:Socket
(直连通过MySQL服务端IP、port来连接)
Socket s_client = null;
	try {
	    SocketAddress sa_add = new InetSocketAddress(cbd_obj.getUser_Ip().trim(),Integer.parseInt(cbd_obj.getUser_Port().trim()));
	    s_client = new Socket();
	    s_client.connect(sa_add,1000);//连接超过1秒则,抛SocketTimeoutException 异常
	}  catch (UnknownHostException e) {
	    System.out.println(e.getMessage());
	    return true;
	} catch (SocketTimeoutException e) {
	    System.out.println(e.getMessage());
	    return true;
	} catch (IOException e) {
	    System.out.println(e.getMessage());
	    return true;
	}finally{
	    try {
		if(s_client != null)
		s_client.close();
	    } catch (IOException e) {
	    }
	}


Socket频率过高会导致,多次建立连接会报 Host is blocked because of many connection errors; unblock with 'mysqladmin flush-hosts' 同一个ip在短时间内产生太多(超过mysql数据库max_connection_errors的最大值)中断的数据库连接而导致的阻塞;,所以不可行


第二种 查询抛异常
 Statement pingStatement = null;
	    try
	    {
	      pingStatement = cbd_obj.getC_Connection().createStatement();

	      pingStatement.executeQuery("/* ping */ SELECT 1").close();

	      return false;
	    }catch(CommunicationsException ce_sql){
		try {
		    cbd_obj.getC_Connection().close();
		} catch (SQLException e) {
		}
		return true;
	    } catch (SQLException e) {
		return false;
	    }finally {
	      if (pingStatement != null)
	        try {
	          pingStatement.close();
	        }
	        catch (SQLException sqlEx)
	        {
	        }
	    }

使用正常
分享到:
评论

相关推荐

    mysql服务端杀连接shell

    "mysql服务端杀连接shell"就是针对这类问题的一个解决方案,它通常是一个脚本,用于在服务端终止不必要的或异常的MySQL连接。 在描述中提到的博文链接(由于实际无法访问,这里不做具体分析),通常会包含如何编写...

    Android应用源码带服务端多人在线扑克.zip

    《Android应用源码带服务端多人在线扑克》是一款基于Android平台的多人在线扑克游戏源代码。这个项目不仅包含了客户端的Android应用源码,还包含了服务端的实现,为开发者提供了完整的多人游戏网络架构的参考。下面...

    linux下mysql的安装卸载

    linux下mysql的安装卸载;卸载mysql;安装服务端;安装服务端

    易语言实用的Mysql增删改查(修改用户到期工具)

    在设计用户界面时,可以创建一个通用的窗口,通过判断用户ID是否存在来决定执行添加还是更新操作。如果用户ID不存在,则视为新用户进行添加;反之,如果找到匹配的ID,则执行更新操作。这种设计提高了代码复用性,...

    易语言掉线自动重连多用户带数据库服务端与客户端源码.rar

    永不掉线自动重连多用户管理系统【服务端_客户端】 1、掉线自动重连 2、检测账号到期时间限制 3、检测账号重复登陆 4、检测软件更新 5、检测账号黑名单 7、服务端踢出用户 8、服务端与客户端交互数据 9、...

    毕业设计,微信小程序,基于SSM+MySql开发的会议室预约系统App,内含服务端和小程序客户端,完整源代码,数据库脚本

    可以首页查看新闻公告信息,可以查询查找会议室信息,每个会议室的单价都不一样,用户选择自己满意的会议室开始下单,选择要预约的日期及时段提交订单,后端订单处理业务会自动判断订单是否有时间冲突,如果没有冲突...

    毕业设计,微信小程序,基于SSM+MySql开发的微信小程序课程考勤系统APP,内含服务端和小程序客户端,完整源代码,数据库脚本

    学生在小程序客户端绑定手机号登录后,可以首页查看新闻公告信息,可以查询课程信息,用户选择自己的课程开始提交考勤信息,选择要考勤的日期及时段提交考勤记录,后端考勤处理业务会自动判断考勤是否有重复提交冲突...

    毕业设计,微信小程序,基于SSM+MySql开发的微信小程序学生选课系统APP,内含服务端和小程序客户端,完整源代码,数据库脚本

    毕业设计,微信小程序,基于SSM+MySql开发的微信小程序学生选课系统APP,内含服务端和小程序客户端,完整源代码,数据库脚本 微信小程序学生选课系统app设计后端SSM可升级SpringBoot毕业源码案例设计 开发技术:...

    joe_MySQL笔记

    - **`[mysqld]`**: 这是服务端配置的部分。 - **`port:3306`**: 指定了MySQL服务器监听的端口号,默认情况下是3306。 - **`basedir=安装目录`**: 定义了MySQL的安装目录路径。 - **`datadir=数据存放目录`**: 数据库...

    对战平台服务端+客户端

    3. **游戏逻辑**:实现游戏规则,如计分系统、胜负判断,这部分逻辑可能需要与服务端协同工作。 4. **兼容性**:确保客户端能在不同的操作系统和硬件环境下运行,如Windows、MacOS、Linux等。 5. **资源管理**:...

    MySQL架构演变与性能优化最终版

    客户端通过网络与MySQL服务端通信,执行查询操作。 - **连接管理器**:处理客户端连接请求,验证用户身份等。 - **查询缓存**:用于缓存查询结果,提高查询效率。 - **解析器**:解析SQL语句,将其转换成内部格式。 ...

    小手游 “打小三” 服务端源码

    3. **游戏逻辑处理模块**:“打小三”作为一款手游,其服务端会包含游戏规则的实现,比如玩家的动作判断、战斗结算、等级提升等,这部分代码会根据游戏的设计来编写。 4. **安全模块**:为了防止作弊和保护用户数据...

    五子棋(客户端+服务端)

    标题中的“五子棋(客户端+服务端)”指的是一个包含客户端和服务器端两部分的五子棋游戏项目。这个项目可能是一个在线平台,让用户能够通过互联网与其他玩家进行实时对战。五子棋是一种策略性棋类游戏,目标是先在...

    Android PHP JSON Mysql 实现登录注册功能

    Android登录注册功能实现,实现的Android客户端与php服务端交互,传输数据格式用的是json,能够从客户端想服务器的MySQL数据库中插入数据以及读取服务端的数据返回到客户端。内包含php文件,sql文件,java代码

    基于springboot+vue+MySQL实现的在线考试系统+源代码+文档

    这是一个基于Spring Boot、Vue.js和MySQL数据库开发的在线考试系统的项目。该项目涵盖了前端网页设计,后端服务开发以及数据存储管理等多方面的技术知识。以下将详细解释这些关键技术和它们在在线考试系统中的应用。...

    MySQL存储过程基础教程.pdf

    在使用MySQL时,可以检查版本信息来确认当前的MySQL安装是否为期望的版本,如使用`SHOW VARIABLES LIKE 'version';`或`SELECT VERSION();`命令。 ### 总结 本教程提供了MySQL存储过程的基础知识,包括其定义、使用...

    智能升级程序的设计与实现(服务端)

    这可能涉及到Git或其他版本控制系统,用于跟踪代码更改,同时服务端需要有逻辑判断,以便根据客户端的当前版本推荐合适的升级路径。 安全性是服务端设计的另一大关注点。所有传输的数据必须加密,以防止中间人攻击...

    json-struts-android-mysql代码文件

    实现的功能:通过Android客户端访问web服务器,实现一个登录功能,判断用户输入的用户名与密码是否与数据库的一致。 使用技术:服务端:Struts2+javabean+servlet(struts2的) 客户端:Android 4.0.2 数据库:MySQL...

    基于esay UI+jsp+servlet+mysql编写的在线考试系统.zip

    【标题】:“基于Easy UI+jsp+servlet+mysql编写的在线考试系统” 这个项目是一个典型的IT毕业设计,它采用了一系列的技术栈来构建一个完整的在线考试系统。以下是该项目中涉及的关键技术点及其详细解释: 1. **...

    .net大厅抢答游戏(包括服务端和客户端)

    3. **实时推送**:服务端将新问题或抢答结果推送给所有在线用户。 4. **错误处理与日志记录**:捕获并处理异常,记录操作日志以便排查问题。 5. **性能优化**:减少网络延迟,提升用户响应速度。 四、测试与部署 1....

Global site tag (gtag.js) - Google Analytics