文章详情

短信预约信息系统项目管理师 报名、考试、查分时间动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

java换成ip访问数据库无法访问

2021-09-19 09:20

关注


	java换成ip访问数据库无法访问
[数据库教程]

一.错误现象

1.1 问题描述

springboot使用双数据源:本意是从第一个数据库中查询导数据然后加入另外一个数据库,代码一切正常后运行结果如下报错,

仔细一排查发现数据是查询到的,说明是入数据的库出问题了,结果发现我之前连接的时候是用‘localhost‘去连接的,在项目中配置成ip就不行了,

从报错中的意思就是安装了数据库的服务器不允许部署项目的服务器进行远程连接。也就是权限问题,修改权限就可以了。

spring.datasource.db2.jdbc-url=jdbc:mysql://192.168.95.2:3306/app_database?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.db2.username=root
spring.datasource.db2.password=admin
spring.datasource.db2.driver-class-name=com.mysql.jdbc.Driver

 

[{password=app_manage, is_enable=1, account_name=系统管理员, id=1, account=appmanage}]
[DEBUG] 2020 七月 16 17:09:52 -->[SqlSessionUtils.java:97] Creating a new SqlSession
[DEBUG] 2020 七月 16 17:09:52 -->[SqlSessionUtils.java:148] SqlSession [[email protected]] was not registered for synchronization because synchronization is not active
[INFO ] 2020 七月 16 17:09:52 -->[HikariDataSource.java:110] HikariPool-2 - Starting...
[WARN ] 2020 七月 16 17:09:52 -->[DriverDataSource.java:68] Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
[ERROR] 2020 七月 16 17:09:53 -->[HikariPool.java:574] HikariPool-2 - Exception during pool initialization.
java.sql.SQLException: null,  message from server: "Host ‘PCMICRO-D7ND2F2‘ is not allowed to connect to this MySQL server"
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
    at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
    at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
    at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
    at com.mysql.cj.jdbc.ConnectionImpl.(ConnectionImpl.java:455)
    at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
    at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
    at com.zaxxer.hikari.util.DriverDataSource.getConnection(DriverDataSource.java:136)
    at com.zaxxer.hikari.pool.PoolBase.newConnection(PoolBase.java:369)

1.2 解决办法

找到数据库默认就有的user表,这个可以通过工具找,因为我的远程连接工具是Navicat,user表就在这里

技术图片

 

 

 比如我这里项目用的用户名是root,默认只允许使用localhost连接,那么就把"localhost"的Host改成%,就可以了,之后还要执行一下执行刷新权限:flush privileges(它的执行就像sql语句一样执行就可以了);

技术图片

 

 

1.3 步骤也可以这样操作:

在mysql的bin目录下执行:mysql -u root -p 密码 登陆到数据:
执行use mysql;
select host,user from user;
可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
调整方法:
执行:update user set host=‘%‘ where user =‘root‘;
执行刷新权限:flush privileges;
可以测试外网连接mysql服务器。

 

java换成ip访问数据库无法访问

原文地址:https://www.cnblogs.com/KdeS/p/13323809.html

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯