• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

uis+密码恢复报错

8小时前提问
  • 0关注
  • 0收藏,21浏览
粉丝:0人 关注:0人

问题描述:

敲完./ResetAdminPwd.sh 之后报错

组网及组网描述:

 ./ResetAdminPwd.sh 

Link database is abnormal!

java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: NO)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1078)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)

at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:927)

at com.mysql.jdbc.MysqlIO.proceedHandshakeWithPluggableAuthentication(MysqlIO.java:1709)

at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1252)

at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2483)

at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2516)

at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2301)

at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)

at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)

at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

at java.lang.reflect.Constructor.newInstance(Constructor.java:423)

at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)

at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)

at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)

at java.sql.DriverManager.getConnection(DriverManager.java:664)

at java.sql.DriverManager.getConnection(DriverManager.java:247)

at com.h3c.MysqlExec.getConnectionByJDBC(MysqlExec.java:42)

at com.h3c.MysqlExec.updateDb(MysqlExec.java:70)

at com.h3c.CASAdminTool.main(CASAdminTool.java:15)

Exception in thread "main" java.lang.NullPointerException

at com.h3c.MysqlExec.updateDb(MysqlExec.java:74)

at com.h3c.CASAdminTool.main(CASAdminTool.java:15)

 

2 个回答
粉丝:2人 关注:9人

问题分析:
此报错表明执行密码恢复脚本时,脚本尝试连接MySQL数据库,但因数据库连接异常(`root`用户无密码或密码错误)而失败。这通常是由于数据库服务状态异常或数据库凭据不匹配导致。

排查步骤与解决建议:

1. 检查数据库服务状态:
systemctl status mysqld

service mysqld status
确认MySQL服务是否正在运行。如果未运行,尝试启动:
systemctl start mysqld

service mysqld start

2. 检查数据库连接与root密码:
* 尝试使用空密码登录MySQL:
mysql -u root
* 如果失败,可能需要检查UIS平台文档或联系H3C技术支持获取默认的数据库root密码(注意:此密码可能与UIS管理平台admin用户密码不同)。
* 如果已知密码,手动测试连接:
mysql -u root -p
输入密码。

3. 关键点:
* 脚本`./ResetAdminPwd.sh`依赖正常的数据库连接来重置管理密码。数据库服务异常或root认证失败是直接原因。
* 操作前务必:确认已对UIS管理节点进行备份或快照,以防操作影响平台稳定性。
* 若无法解决:请收集上述检查结果,并联系H3C技术支持,提供详细的报错信息和当前环境状态。

粉丝:8人 关注:0人

这个错误信息很明确:密码恢复脚本在尝试连接数据库时,因为没有提供密码而被拒绝了

Access denied for user 'root'@'localhost' (using password: NO) 这句话的关键是最后括号里的 using password: NO——意思是脚本在连接时根本没带密码去验证,而不是密码输错了。


 问题原因分析

UIS管理平台的管理员密码、网络配置等关键信息都存储在后台的MySQL数据库中。你运行的 ./ResetAdminPwd.sh 脚本,本质上是先连接数据库,然后去修改里面存的管理员密码记录。

正常情况下,脚本应该能自动读取到数据库的root密码来完成连接。现在报这个错,通常有几种可能:

  1. 脚本运行时找不到数据库密码配置文件——UIS的数据库密码通常存在某个特定配置文件里(比如 /etc/h3c/ 或脚本同目录下的 .conf 或 .properties 文件),脚本运行时找不到或读不了这个文件,就只能尝试无密码连接,结果被拒绝。

  2. 运行脚本的用户权限不够——如果当前登录用户对密码配置文件没有读取权限,脚本同样无法获取密码。

  3. 数据库密码在之前的运维中被手动改过,但配置文件没有同步更新,导致脚本读到的密码是错的(不过从日志 using password: NO 来看,更像是根本就没读到密码)。


请按顺序尝试以下方法:

第一步:检查并确认配置文件

# 在UIS后台(通常是CVK节点)执行,查看当前路径
pwd # 查看当前目录下是否有配置文件 ls -la | grep -E "\.conf|\.properties|\.cfg|password" # 尝试在常见路径查找数据库密码配置 find /etc /opt /usr/local/h3c -name "*mysql*" -o -name "*database*" 2>/dev/null | grep -E "\.conf|\.properties|\.cfg|password"找到配置文件后,查看其内容确认是否包含数据库密码。常见格式可能是:
  • db_password=xxxxx

  • mysql_password=xxxxx

第二步:确认当前用户权限

# 查看当前用户
whoami # 尝试切换到root用户(如果当前不是root) su - root # 然后重新进入脚本所在目录执行第三步:检查并手动传入密码

有些版本的脚本支持直接带密码参数运行,你可以试试:

# 先确认数据库root密码
# 如果知道密码,尝试用明文方式执行(注意格式不保证通用) ./ResetAdminPwd.sh --db-password='你的数据库root密码' # 或者尝试修改脚本,在mysql连接命令中加上-p参数 # 先备份脚本 cp ResetAdminPwd.sh ResetAdminPwd.sh.bak vi ResetAdminPwd.sh # 找到mysql连接的那一行(类似 mysql -u root -p),确认有没有-p参数第四步:检查MySQL服务状态
# 确认数据库服务正在运行
systemctl status mysql # 或 systemctl status mariadb # 测试用root密码能否手动登录数据库 mysql -u root -p # 输入密码,如果能登录说明密码正确第五步:版本兼容性考量

从错误日志中的 java.sql.SQLException 可以看出脚本是用Java写的,调用了JDBC连接MySQL。如果你用的是较新版本的操作系统(如Ubuntu 22.04),而UIS或CAS的版本较老,可能存在JDBC驱动与MySQL版本的兼容性问题。这种情况建议联系H3C技术支持确认版本匹配关系。

不是mysql啊

zhiliao_jQdOzK 发表时间:8小时前 更多>>

不是mysql啊

zhiliao_jQdOzK 发表时间:8小时前

编辑答案

你正在编辑答案

如果你要对问题或其他回答进行点评或询问,请使用评论功能。

分享扩散:

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作

举报

×

侵犯我的权益 >
对根叔社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明