翼度科技»论坛 云主机 服务器技术 查看内容

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

6

主题

6

帖子

18

积分

新手上路

Rank: 1

积分
18
IDEA无法连接docker中的数据库

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

问题现象

本地idea起springboot的微服务,以com.alibaba.druid.pool.DruidDataSource连接池连接docker中安装的。
  1. datasource:
  2.     type: com.alibaba.druid.pool.DruidDataSource
  3.     driver-class-name: com.mysql.jdbc.Driver
  4.     url: 'jdbc:mysql://127.0.0.1:3306/user?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&verifyServerCertificate=false'
  5.     username: root
  6.     password: '123456'
  7.     druid:
  8.       initialSize: 50
  9.       minIdle: 50
  10.       maxActive: 300
  11.       maxWait: 60000
  12.       timeBetweenEvictionRunsMillis: 60000
  13.       minEvictableIdleTimeMillis: 300000
  14.       validationQuery: SELECT user()
  15.       testWhileIdle: true
  16.       testOnBorrow: false
  17.       testOnReturn: false
  18.       poolPreparedStatements: true
  19.       connection-properties: druid.stat.mergeSql:true;druid.stat.slowSqlMillis:5000
复制代码
相关版本

连接池
  1. <dependency>
  2.         <groupId>com.alibaba</groupId>
  3.         <artifactId>druid-spring-boot-starter</artifactId>
  4.         <version>1.1.20</version>
  5. </dependency>
复制代码
数据库
  1. dockerfile:
  2. FROM mysql:5.7.25
复制代码
现象

用以下命令可以修改数据库密码
  1. grant all on *.* to root@'%' identified by 't$>9MJ4q' with grant option;
  2. flush privileges;
复制代码
当密码采用
‘123456’或者‘abcdef’时无法连接;当密码采访复杂的’t$>9MJ4q’时,就可以直接连接成功。
尝试了各种所谓密码需要用‘’包裹的方式,都无效。

本机连接docker数据库

首先要保证本机能访问虚拟机的网络
例如:可以通过远程连接工具连接到虚拟机

操作步骤

1.进入容器
  1. docker exec -it 容器id /bin/bash
复制代码
1).获取容器id
  1. docker ps -a
复制代码

图中红框为容器id
2.操作容器mysql
  1. mysql -uroot -p  
复制代码
  1. use mysql
复制代码
  1. update user set password_expired = "Y"where user="root";
复制代码
  1. ALTER USER'root'@'%' IDENTIFIED WITH mysql_native_password BY '自己的数据库密码';
复制代码
依次执行完成之后,可以通过你的数据库连接工具连接你docker中的数据库
工具连接:

cmd终端连接:
  1. mysql -h 192.168.5.130 -uroot -p -P 3306 //192.168.5.130为自己的虚拟机ip
复制代码


总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

来源:https://www.jb51.net/server/3221409im.htm
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具