V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Newyorkcity
V2EX  ›  问与答

mysql 和 jdbc 的问题,求提供一个解决思路或问题可能的方向,谢谢.

  •  
  •   Newyorkcity · Feb 4, 2019 · 2261 views
    This topic created in 2652 days ago, the information mentioned may be changed or developed.
    刚入门,用 c3p0 连接池,服务器是 tomcat7
    最简单的功能,输入用户名和 i 密码,submit,然后后台 servlet 连接到数据库,查找是否有满足这个账号和密码的记录.
    在自己的电脑上( win10 )运行这个项目,一切顺利,完全没毛病.
    把这个项目复制到服务器上( centos7 ),访问网站没问题,但一 submit 就出问题.
    异常类型是
    java.sql.SQLException: Connections could not be acquired from the underlying database!

    1.jdbc 的四大参数不可能有问题,因为 i 我确定肯定本地电脑上的 mysql 的 root 账户的密码是相同的.我既然能在本地电脑上正常使用,没道理是这四大参数出了问题.

    2.我在远程服务器用 root 账户登录 mysql 后打开了不限制 IP 访问,我能在本地电脑上,通过
    mysql -h 服务器的 IP 地址 -u root -p 的方式直接访问服务器上的数据库

    3.用 xshell 登录服务器然后直接进入数据库就更不用说了

    4.我故意把 jdbc 的四大参数中的 user 参数改为错误的,在本地得到的错误类型与之相同..

    恳求一个问题可能的方向,谢谢,祝福大家新年快乐,写代码不出 bug!
    Supplement 1  ·  Feb 5, 2019
    已经试过直接把 localhost 换成 127.0.0.1 了,也在服务器上 ping localhost 过了,确定就是指向 127.0.0.1,应该不是这个的问题..
    14 replies    2019-02-05 12:29:01 +08:00
    boris1993
        1
    boris1993  
       Feb 4, 2019 via Android
    数据库名大小写问题?
    Linux 下 MySQL 默认大小写敏感,Windows 的不清楚........
    llrg222
        2
    llrg222  
       Feb 4, 2019   ❤️ 1
    四大参数不可能有问题,往往就是这些账号密码服务器地址写错了,有时候脑子短路了,再试多几次
    Newyorkcity
        3
    Newyorkcity  
    OP
       Feb 4, 2019
    @boris1993 确认了,都是小写,jdbc 的 url 中也是

    @llrg222 问题在于四大参数根本没做修改,本地可以用,复制到服务器上就不可以...让我想哪里出错了也实在是没个头绪
    llrg222
        4
    llrg222  
       Feb 4, 2019
    @Newyorkcity 数据库地址呢,不需要修改吗
    Newyorkcity
        5
    Newyorkcity  
    OP
       Feb 4, 2019
    @llrg222 jdbc:mysql://localhost:3306/dbname
    因为用的是 localhost 所以我直接把项目复制了过去的话应该用不着修改吧
    dbname 的话已经反复确认过了,确实都一样
    哎~~~这问题真的让人头大
    llrg222
        6
    llrg222  
       Feb 4, 2019
    @Newyorkcity
    localhost 不行吧?好像要改成 127.0.0.1,或改成其他
    数据库地址不是应该改成数据库 ip 地址么?
    Newyorkcity
        7
    Newyorkcity  
    OP
       Feb 4, 2019
    @llrg222 谢谢你的建议先!我试了一下还是没有解决 QAQ
    zouzou
        8
    zouzou  
       Feb 5, 2019
    telnet localhost 3306
    Newyorkcity
        9
    Newyorkcity  
    OP
       Feb 5, 2019
    @zouzou 求再具体一些?
    Fulcrum
        10
    Fulcrum  
       Feb 5, 2019 via Android
    试下 cmd 里面输入 hostname 的名字,替换 localhost
    Fulcrum
        11
    Fulcrum  
       Feb 5, 2019 via Android
    。。。是 centos 啊。。。把用户名替换 localhost 试下
    Newyorkcity
        12
    Newyorkcity  
    OP
       Feb 5, 2019
    @Fulcrum 直接用服务器的 IP 地址也试过了.还是行不通..
    oott123
        13
    oott123  
       Feb 5, 2019 via Android
    看楼主的帖子,可能是哪儿多打了一个 i 吧。
    tengshe789
        14
    tengshe789  
       Feb 5, 2019 via Android
    Linux 中添加 host,将 localhost 指向 127.0.0.1
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1032 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 70ms · UTC 18:27 · PVG 02:27 · LAX 11:27 · JFK 14:27
    ♥ Do have faith in what you're doing.