您当前的位置: 首页 >  docker

ITKEY_

暂无认证

  • 0浏览

    0关注

    732博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

alpine linux中docker mysql踩坑记录

ITKEY_ 发布时间:2022-04-01 20:15:19 ,浏览量:0

写在前头,本文只是记录这个坑,目前没有找到解决办法。 研究了一天了,也没有解决。

环境

我使用vmware安装了alpine linux,安装过程见: 《vmware安装alpine linux》 https://www.bilibili.com/video/BV1H3411H7W4/

然后我在alpine linux中安装了docker安装过程见: 《alpine linux中安装docker》 https://blog.csdn.net/lxyoucan/article/details/123884548

然后我又在docker中安装mysql 5.7安装过程见: 《RuoYi开发实战-搭建开发环境》 https://blog.csdn.net/lxyoucan/article/details/123764953

查了一下root是支持%的 在这里插入图片描述

现象

这样安装出来的mysql非常奇怪。使用mysql 命令行的客户端可以正常连接。但是使用jdbc连接就报错。

命令行mysql正常连接

在这里插入图片描述

jdbc方式连接失败

在这里插入图片描述 Java代码中的Jdbc连接也无法正常连接。

探索过程

这个让我非常的难以理解,我做了一系列的测试。基本把网上能试的方法都试过了。都无法解决。

以下方法我试过了,对我这问题无效。

  1. 注释bind-address="127.0.0.1" 或者修改成 bind-address=“0.0.0.0”
  2. 运行 java 并选择-Djava.net.preferIPv4Stack=true强制 java 使用IPv4而不是IPv6. 在 Linux 上,这也可以通过运行(或将其放入/etc/profile:
 export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true"
  1. 内网端口穿透到外网测试依然是命令行mysql可以连接,jdbc无法连接。
  2. 关闭防火墙
  3. 连接字符串中加useSSL=true
奇怪的现象
  1. 我创建了三台alpine linux虚拟机,其中一台虚拟机(第1台)中的Mysql一切正常,另外两台相同的配置方法,就是无法Jdbc连接。
  2. 上面提到的第1台alpine虚拟机,3306端口的Mysql服务正常。但是在重新创建新的Mysql服务比如:3307就无法正常jdbc访问了。
  3. 把正常的3306端口停了,重新创建一个新的3306端口的mysql服务依然是不正常的。
  4. CentOS7中同样的方法在docker中安装mysql服务,一切正常。
  5. Ubuntu20.04中同样的方法在docker中安装的mysql服务,一切正常。
  6. macOS中docker安装mysql一切正常。
解决办法

暂时没有找到最终的原因,目前只能暂时放弃使用alpine Linux系统。

关注
打赏
1665243900
查看更多评论
立即登录/注册

微信扫码登录

0.0368s