zoukankan      html  css  js  c++  java
  • kubernetes 的wen pod 无法连接 mysql 的pod

    1.分析

    查看源代码
    既然无法建立连接,那先看下是如何建立连接的。登录到myweb的docker容器里面,查看index.jsp文件,主要内容如下:

    Class.forName("com.mysql.jdbc.Driver").newInstance();
    try{
    Class.forName("com.mysql.jdbc.Driver");
    String ip=System.getenv("MYSQL_SERVICE_HOST");
    String port=System.getenv("MYSQL_SERVICE_PORT");
    ip=(ip==null)?"localhost":ip;
    port=(port==null)?"3306":port;
    System.out.println("Connecting to database...");

    System.out.println("jdbc:mysql://"+ip+":"+port+"?useUnicode=true&characterEncoding=UTF-8");
    conn = java.sql.DriverManager.getConnection("jdbc:mysql://"+ip+":"+port+"?useUnicode=true&characterEncoding=UTF-8", "root","123456");

    stmt = conn.createStatement();

    就是用jsp创建了一个连接,连接的地址通过ENV方式注入。即在myweb-rc.yaml中配置的MYSQL_SERVICE_HOST和MYSQL_SERVICE_PORT环境变量指定。
    登陆myweb应用查看这两个环境变量是否有问题:

    [root@localhost ~]# kubectl exec -ti myweb-cp4gm -- /bin/bash
    root@myweb-cp4gm:/usr/local/tomcat# echo $MYSQL_SERVICE_HOST
    10.254.15.45
    root@myweb-cp4gm:/usr/local/tomcat# echo $MYSQL_SERVICE_PORT
    3306

    可以看出环境变量也是没有问题的。

    解决方法
    考虑到可能是mysql版本的问题,修改mysql版本为5.7,并且设置来直接使用本地镜像。

    https://blog.csdn.net/yinanmo5569/article/details/81352578

  • 相关阅读:
    speex库音频降噪(含代码)
    语音增强(降噪)之一——谱减法
    CUDA与OpenGL互操作
    二维图像的三维旋转
    迷惑很久,仅以个人想法谈谈MVC架构,希望大家多给点意见
    Less使用心得
    js实现蛇形矩阵
    H5天气查询demo(二)
    HTML5 Shim
    html5发展的里程碑事件
  • 原文地址:https://www.cnblogs.com/hixiaowei/p/9690043.html
Copyright © 2011-2022 走看看