偶尔出现 unable to connect to any of the specified MySQL hosts 是怎么回事
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了偶尔出现 unable to connect to any of the specified MySQL hosts 是怎么回事相关的知识,希望对你有一定的参考价值。
程序偶尔报这个 unable to connect to any of the specified MySQL hosts 错误,但是有数据库那台服务器本身运行的程序就没有报这个错误,这个是怎么回事啊?
问题在于偶尔会连接不上,程序能正常运行,但是不一定什么时候会报这个错误。
但是不知道为什么。。。
求高手解答
1. 检查一下MySQL连接参数配置,连接参数中主机地址写的是IP还是机器 名;
2. 检查MySQL服务器是否是动态获取IP,如果是,那客户端连接时,如果按IP联接,就有可能出现IP不正确的情况。
3. 检查MySQL服务器,看服务是否经常停机;如果是这个问题保证服务稳定即可。
建议连接池参数写IP,然后服务器设置固定IP。
扩展资料:
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理。
由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。
MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。
MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。
MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。
常用命令
1:使用SHOW语句找出在服务器上当前存在什么数据库:
mysql> SHOW DATABASES;
2:创建一个数据库MYSQLDATA
mysql> CREATE DATABASE MYSQLDATA;
3:选择你所创建的数据库
mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
4:查看现在的数据库中存在什么表
mysql> SHOW TABLES;
5:创建一个数据库表
mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
6:显示表的结构:
mysql> DESCRIBE MYTABLE;
7:往表中加入记录
mysql> insert into MYTABLE values (”hyq”,”M”);
8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)
mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
9:导入.sql文件命令(例如D:/mysql.sql)
mysql>use database;
mysql>source d:/mysql.sql;
10:删除表
mysql>drop TABLE MYTABLE;
11:清空表
mysql>delete from MYTABLE;
12:更新表中数据
mysql>update MYTABLE set sex=”f” where name=’hyq’;
参考资料:百度百科--MySQL数据库
检查一下你的MySQL连接参数配置,连接参数中主机地址写的是IP还是机器 名;
检查你的MySQL服务器是否是动态获取IP,如果是,那客户端连接时,如果按IP联接,就有可能出现IP不正确的情况。
检查MySQL服务器,看服务是否经常停机;如果是这个问题保证服务稳定即可。
建议连接池参数写IP,然后服务器设置固定IP。
追问连接参数是对的,因为是偶尔报这个错误
IP地址是固定的,服务器肯定是固定IP的。
那就是服务器上的mysql服务不稳定,查一下Mysql日志和应用层日志,看看是什么原因导致的不稳定。
追问但是在服务器上运行的软件没有报这个错误啊,我强烈怀疑是网络问题,但又不知道怎么排查。。
追答网络问题导致这个问题的可能是存在的,你可以ping 服务器ip -t 试试,看看有多少概率失败。
本回答被提问者采纳ORA-29701: unable to connect to Cluster Synchronization Service
修改主机名后,has无法启动,将has启动之后,尝试ASMCA,出现如图提示:
再尝试登陆asm实例,出现日下提示:
[[email protected]+ASM ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.3.0 Production on Sun Mar 3 00:53:35 2019
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-01078: failure in processing system parameters
ORA-29701: unable to connect to Cluster Synchronization Service
解决问题过程:
1、查看服务
[[email protected]+ASM ~]$ crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora.cssd ora.cssd.type 0/5 0/5 OFFLINE OFFLINE
ora.diskmon ora....on.type 0/10 0/5 OFFLINE OFFLINE
ora.evmd ora.evm.type 0/10 0/5 ONLINE ONLINE edgzrip2
ora.ons ora.ons.type 0/3 0/ OFFLINE OFFLINE
2、添加asm服务
[[email protected]+ASM ~]$ srvctl add asm
3、查看服务
[[email protected]+ASM ~]$ crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora.asm ora.asm.type 0/5 0/ OFFLINE OFFLINE
ora.cssd ora.cssd.type 0/5 0/5 OFFLINE OFFLINE
ora.diskmon ora....on.type 0/10 0/5 OFFLINE OFFLINE
ora.evmd ora.evm.type 0/10 0/5 ONLINE ONLINE gzrip2
ora.ons ora.ons.type 0/3 0/ OFFLINE OFFLINE
ora.prod4.db ora....se.type 0/2 0/1 OFFLINE OFFLINE
4、启动asm服务
[[email protected] ~]# /u01/app/11.2.0/grid/bin/crsctl start resource ora.asm
CRS-2672: Attempting to start ‘ora.asm‘ on ‘gzrip2‘
CRS-2676: Start of ‘ora.asm‘ on ‘gzrip2‘ succeeded
5、启动cssd服务
[[email protected] ~]# /u01/app/11.2.0/grid/bin/crsctl start resource ora.cssd
CRS-2672: Attempting to start ‘ora.cssd‘ on ‘gzrip2‘
CRS-2672: Attempting to start ‘ora.diskmon‘ on ‘gzrip2‘
CRS-2676: Start of ‘ora.diskmon‘ on ‘gzrip2‘ succeeded
CRS-2676: Start of ‘ora.cssd‘ on ‘gzrip2‘ succeeded
6、查看服务
[[email protected]+ASM ~]$ crs_stat -t -v
Name Type R/RA F/FT Target State Host
----------------------------------------------------------------------
ora.asm ora.asm.type 0/5 0/ ONLINE ONLINE gzrip2
ora.cssd ora.cssd.type 0/5 0/5 ONLINE ONLINE gzrip2
ora.diskmon ora....on.type 0/10 0/5 OFFLINE OFFLINE
ora.evmd ora.evm.type 0/10 0/5 ONLINE ONLINE gzrip2
ora.ons ora.ons.type 0/3 0/ OFFLINE OFFLINE
ora.prod4.db ora....se.type 0/2 0/1 OFFLINE OFFLINE
7、尝试登陆asm实例
[[email protected]+ASM ~]$ sqlplus / as sysasm
SQL*Plus: Release 11.2.0.3.0 Production on Sun Mar 3 01:21:16 2019
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Automatic Storage Management option
至此问题解决。
tips:
查看ora.cssd服务属性
[[email protected]+ASM ~]$ crs_stat -p ora.cssd
NAME=ora.cssd
TYPE=ora.cssd.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=30
DESCRIPTION="Resource type for CSSD"
FAILOVER_DELAY=0
FAILURE_INTERVAL=3
FAILURE_THRESHOLD=5
HOSTING_MEMBERS=
PLACEMENT=balanced
RESTART_ATTEMPTS=5
SCRIPT_TIMEOUT=600
START_TIMEOUT=600
STOP_TIMEOUT=900
UPTIME_THRESHOLD=1m
查看ora.diskmon服务属性
[[email protected]+ASM ~]$ crs_stat -p ora.diskmon
NAME=ora.diskmon
TYPE=ora.diskmon.type
ACTION_SCRIPT=
ACTIVE_PLACEMENT=0
AUTO_START=1
CHECK_INTERVAL=3
DESCRIPTION="Resource type for Diskmon"
FAILOVER_DELAY=0
FAILURE_INTERVAL=3
FAILURE_THRESHOLD=5
HOSTING_MEMBERS=
PLACEMENT=balanced
RESTART_ATTEMPTS=10
SCRIPT_TIMEOUT=60
START_TIMEOUT=600
STOP_TIMEOUT=60
UPTIME_THRESHOLD=5s
1)默认情况下HAS(High Availability Service)是自动启动的.通过如下命令可以取消和启用自动启动 crsctl disable has crsctl enable has 2)HAS手动启动和停止 crsctl start has crsctl stop has 3)查看HAS的状态 crsctl check has 4)如果想让ora.css和ora.diskmon服务随着HAS的启动而自动启动,那么你可以修改这两个服务的AUTO_START属性 crsctl modify resource "ora.cssd" -attr "AUTO_START=1" or 5)如果想取消ora.css和ora.diskmon的Auto start crsctl modify resource "ora.cssd" -attr "AUTO_START=never" crsctl modify resource "ora.diskmon" -attr "AUTO_START=never"
参考文档:
https://blog.csdn.net/haiross/article/details/16861849
https://blog.csdn.net/zxyhw/article/details/11711337
https://blog.csdn.net/EVISWANG/article/details/52576084
2019-3-3 12:30 AM
!--5f39ae17-8c62-4a45-bc43-b32064c9388a:W3siYmxvY2tUeXBlIjoiaW1hZ2UiLCJzdHlsZXMiOnsiaGVpZ2h0Ijo0NDZ9LCJibG9ja0lkIjoiNjEyNC0xNTUxNTQ1ODAwOTI1Iiwic291cmNlIjoiMTRFOUQyMUIzRDY1NDBEM0I1RkQ1NkYxMDFCQTlFRjMifV0=-->以上是关于偶尔出现 unable to connect to any of the specified MySQL hosts 是怎么回事的主要内容,如果未能解决你的问题,请参考以下文章
ORA-29701: unable to connect to Cluster Synchronization Service
Intellij Idea出现 unable to establish loopback connection
greenplum全量恢复gprecoverseg -F出现Unable to connect to database时的相关分析及解决方法
Tomcat配置多数据源出现Unable to create initial connections