当前位置: 代码网 > 服务器>服务器>云虚拟主机 > 如何解决IDEA无法连接docker中的数据库的问题

如何解决IDEA无法连接docker中的数据库的问题

2024年06月13日 云虚拟主机 我要评论
idea无法连接docker中的数据库问题最后无解,或许可以通过抓包发现原因,但是经过两个小时的蛮力测试,最后证明可能当前应用的运行环境有关。毕竟生成环境用的就是简单的‘123456&rs

idea无法连接docker中的数据库

问题最后无解,或许可以通过抓包发现原因,但是经过两个小时的蛮力测试,最后证明可能当前应用的运行环境有关。

毕竟生成环境用的就是简单的‘123456’。

问题现象

本地idea起springboot的微服务,以com.alibaba.druid.pool.druiddatasource连接池连接docker中安装的。

datasource:
    type: com.alibaba.druid.pool.druiddatasource
    driver-class-name: com.mysql.jdbc.driver
    url: 'jdbc:mysql://127.0.0.1:3306/user?useunicode=true&characterencoding=utf-8&zerodatetimebehavior=converttonull&usessl=false&verifyservercertificate=false'
    username: root
    password: '123456'
    druid:
      initialsize: 50
      minidle: 50
      maxactive: 300
      maxwait: 60000
      timebetweenevictionrunsmillis: 60000
      minevictableidletimemillis: 300000
      validationquery: select user()
      testwhileidle: true
      testonborrow: false
      testonreturn: false
      poolpreparedstatements: true
      connection-properties: druid.stat.mergesql:true;druid.stat.slowsqlmillis:5000

相关版本

连接池

<dependency>
        <groupid>com.alibaba</groupid>
        <artifactid>druid-spring-boot-starter</artifactid>
        <version>1.1.20</version>
</dependency>

数据库

dockerfile:
from mysql:5.7.25

现象

用以下命令可以修改数据库密码

grant all on *.* to root@'%' identified by 't$>9mj4q' with grant option;
flush privileges;

当密码采用

‘123456’或者‘abcdef’时无法连接;当密码采访复杂的’t$>9mj4q’时,就可以直接连接成功。

尝试了各种所谓密码需要用‘’包裹的方式,都无效。

本机连接docker数据库

首先要保证本机能访问虚拟机的网络

例如:可以通过远程连接工具连接到虚拟机

操作步骤

1.进入容器

docker exec -it 容器id /bin/bash

1).获取容器id

docker ps -a

图中红框为容器id

2.操作容器mysql

mysql -uroot -p  
use mysql
update user set password_expired = "y"where user="root";
alter user'root'@'%' identified with mysql_native_password by '自己的数据库密码';

依次执行完成之后,可以通过你的数据库连接工具连接你docker中的数据库

工具连接:

cmd终端连接:

mysql -h 192.168.5.130 -uroot -p -p 3306 //192.168.5.130为自己的虚拟机ip

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com