【MySQL异常】解决java.sql.SQLException: null, message from server: “Host xxx‘ is not allowed to connect to

这篇具有很好参考价值的文章主要介绍了【MySQL异常】解决java.sql.SQLException: null, message from server: “Host xxx‘ is not allowed to connect to。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景描述

Spring Boot + MySQL

本机访问MySQL数据库正常(即使用 localhost 或者 127.0.0.1 两种方式)。局域网内同事的电脑访问我电脑的数据库结果报错。用户使用的是root用户,即超管账户。

java.sql.SQLException: null,  message from server: "Host 'WIN10-194.cloud.lxkj.com' is not allowed to connect to this MySQL server"

二、原因排查

2.1 防火墙设置

查看防火墙设置,是否允许远程访问mysql数据库这个程序。经查看本机确实限制了不允许远程访问msyql这个程序。于是把防火墙设置成可以允许访问本机电脑上的MySQL程序。

同事再次使用以下命令:

 telnet 172.xx.xx.26 3306

结果还是不通。在我本机使用 IP 访问自己电脑上的MySQL数据库,结果同样报上述错误。

如果自己无法控制服务器,那么需要请运维同学帮忙查看,检查MySQL服务器的防火墙设置,是否限制3306端口,可通过telnet方式,在web服务器上测通MySQL服务器上的端口是否测通。经过上述操作如果没有问题,则服务器本身的ip或者端口限制的情况可以基本排除。

2.2 数据库本身

使用以下SQL语句,查看数据库 root 用户信息:

use mysql;
select user,host from user;

java.sql.sqlexception: null, message from server:

2.3 结论

经过上述原因排查,可以确定,这个问题的原因是数据库只允许 localhost 或 127.0.0.1 访问,不允许远程访问导致的。

三、解决方案

3.1 Windows系统

使用以下SQL语句,可以在数据库管理连接工具,变更用户的访问方式:

use mysql;
select user,host from user;
update user set host = '%' where user = 'root'

最后一步就是把你的MySQL服务重启,一定要重启!(任务管理器 --> 服务 搜索 mysql,右键重启即可)

3.2 Linux系统

步骤一:打开cmd,进入mysql

mysql -uroot -p

java.sql.sqlexception: null, message from server:
步骤二:查看root用户的信息

use mysql;
select user,host from user;

java.sql.sqlexception: null, message from server:

步骤三:修改root用户的被限制的ip范围,改为不限制,及允许所有ip访问

update user set host = '%' where user = 'root'

java.sql.sqlexception: null, message from server:
步骤四:将权限更新操作刷新到内存中,而不用下次启动时生效

flush privileges;

java.sql.sqlexception: null, message from server:

之后再通过web服务器上的代码,访问数据库,果然好了。

四、知识拓展

host=% 含义,%是通配符,host标识是设置允许访问的ip地址。

例如:

  * host=localhost	只允许本机访问

  * host=172.77.18.%		只允许172.77.18.网段的可以访问

  * host=%	允许所有ip地址访问

本文完结!文章来源地址https://www.toymoban.com/news/detail-767134.html

到了这里,关于【MySQL异常】解决java.sql.SQLException: null, message from server: “Host xxx‘ is not allowed to connect to的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Bug解决:获取JDBC连接失败;嵌套异常是java.sql.SQLException:无法从底层数据库获取连接

    出现的问题 Failed to obtain JDBC Connection; nested exception is java.sql.SQLException: Connections could not be acquired from the underlying database! 说白了就是连接数据库出问题了,寻找了一个半小时才发现错误 从头到尾检查了一遍,这里使用的是C3P0连接池。 解决方法 1.如果使用的是c3p0连接池,prop

    2023年04月08日
    浏览(35)
  • java.sql.SQLException: There is no DataSource named ‘null‘

    当配置dataSource后,即使配置文件中已经指定了JobStoreTX,实际还是使用LocalDataSourceJobStore。 application.yml配置 修改之处如下:

    2024年02月13日
    浏览(31)
  • java.sql.SQLException:异常

     在SQL查询时产生异常java.sql.SQLException: Statement.executeQuery() cannot issue statements that do not produce result sets.  结果错误很明显:在使用baseQuery()方法是,忘记传入第二个参数,即要执行的SQL语句。

    2024年01月17日
    浏览(36)
  • 【java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)】异常问题及解决

    自学最新版本的 SpringCloud alibaba,将以前的知识进行巩固,并了解一下新版本的巨大更新。在数据库方面没有牵扯Mybatis,而是用的原始的Hibernat,在学习过程中,在码完练习代码以后,运行代码的时候,出现了这样一个【java.sql.SQLException: Access denied for user ‘root’@‘localhost’

    2024年02月04日
    浏览(43)
  • 已解决java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)异常的正确解决方法,亲

    已解决java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)异常的正确解决方法,亲测有效!!! java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES) 这个错误是由于用户 ‘root’ 在本地主机上使用错误的密码导致的。 下滑查看解决方

    2024年02月02日
    浏览(41)
  • 解决java.sql.SQLException: com.mysql.cj.jdbc.Driver报错

    当有: com .alibaba.druid.support.logging.JakartaCommonsLoggingImpl error 严重: create connection error, url: ...... java.sql.SQLException: com.mysql.cj.jdbc.Driver....... 类似这两类的报错的时候经总结可能有如下几个问题: 1.首先检查你的jar/pom文件的mysql版本号: mysql5.x.x 的版本配置应为: \\\"com.mysql.jdbc.driver\\\"

    2023年04月26日
    浏览(49)
  • 解决Cause: java.sql.SQLException: sql injection violation, dbType mysql ... token IDENTIFIER deleted错误

    本文不仅帮你解决错误,还帮你分析错误的原因👇👇 今天写好 创建数据源 的接口,并启动项目后,通过 Knife4j 调用单接口,但保出如下图错误: 于是,查看后端输出详细的错误信息,如下所示: 由于篇幅有限,没有粘贴出全部的错误信息。 由于错误信息很多,我们只需

    2024年02月04日
    浏览(34)
  • 【解决】Kafka Exception thrown when sending a message with key=‘null‘ 异常

      如下图,kafka 中配置的是监听域名的方式,但程序里使用的是 ip:port 的连接方式。 kafka 中配置的是域名的方式,程序里也相应配置成 域名:port 的方式(注意:本地hosts中需要做好相应的域名映射)。

    2024年02月12日
    浏览(24)
  • 解决MySQL错误:java.sql.SQLException: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    1. 用户名或密码错误:请确保使用的是正确的用户名和密码,打开yml配置文件或者是properties配置文件。  2. 权限不足:请确保用户有足够的权限连接到 MySQL 数据库。 3. MySQL 服务未启动:请确保 MySQL 服务正在运行。 右键此电脑,管理,服务和应用程序中服务,找到MySQL服务,

    2024年02月11日
    浏览(38)
  • 【已解决】:java.sql.SQLException 问题

    今天做项目开发的时候,发现了这个Bug,话不多说,直接定位Bug原理+解决! 发现好问题的报错后,就可以解决了。 Statement 接口提供了三种执行 SQL 语句的方法:executeQuery、executeUpdate 和 execute。 使用哪一个方法由 SQL 语句所产生的内容决定。 方法executeQuery 用于产生单个结果

    2023年04月25日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包