V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Newyorkcity
V2EX  ›  问与答

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

  •  
  •   Newyorkcity · 2019-02-04 21:45:06 +08:00 · 1910 次点击
    这是一个创建于 2120 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚入门,用 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!
    第 1 条附言  ·  2019-02-05 12:52:38 +08:00
    已经试过直接把 localhost 换成 127.0.0.1 了,也在服务器上 ping localhost 过了,确定就是指向 127.0.0.1,应该不是这个的问题..
    14 条回复    2019-02-05 12:29:01 +08:00
    boris1993
        1
    boris1993  
       2019-02-04 22:01:50 +08:00 via Android
    数据库名大小写问题?
    Linux 下 MySQL 默认大小写敏感,Windows 的不清楚........
    llrg222
        2
    llrg222  
       2019-02-04 22:03:44 +08:00   ❤️ 1
    四大参数不可能有问题,往往就是这些账号密码服务器地址写错了,有时候脑子短路了,再试多几次
    Newyorkcity
        3
    Newyorkcity  
    OP
       2019-02-04 22:05:11 +08:00
    @boris1993 确认了,都是小写,jdbc 的 url 中也是

    @llrg222 问题在于四大参数根本没做修改,本地可以用,复制到服务器上就不可以...让我想哪里出错了也实在是没个头绪
    llrg222
        4
    llrg222  
       2019-02-04 22:06:34 +08:00
    @Newyorkcity 数据库地址呢,不需要修改吗
    Newyorkcity
        5
    Newyorkcity  
    OP
       2019-02-04 22:38:58 +08:00
    @llrg222 jdbc:mysql://localhost:3306/dbname
    因为用的是 localhost 所以我直接把项目复制了过去的话应该用不着修改吧
    dbname 的话已经反复确认过了,确实都一样
    哎~~~这问题真的让人头大
    llrg222
        6
    llrg222  
       2019-02-04 22:51:04 +08:00
    @Newyorkcity
    localhost 不行吧?好像要改成 127.0.0.1,或改成其他
    数据库地址不是应该改成数据库 ip 地址么?
    Newyorkcity
        7
    Newyorkcity  
    OP
       2019-02-04 22:58:15 +08:00
    @llrg222 谢谢你的建议先!我试了一下还是没有解决 QAQ
    zouzou
        8
    zouzou  
       2019-02-05 00:33:04 +08:00
    telnet localhost 3306
    Newyorkcity
        9
    Newyorkcity  
    OP
       2019-02-05 08:30:25 +08:00
    @zouzou 求再具体一些?
    Fulcrum
        10
    Fulcrum  
       2019-02-05 09:32:23 +08:00 via Android
    试下 cmd 里面输入 hostname 的名字,替换 localhost
    Fulcrum
        11
    Fulcrum  
       2019-02-05 09:33:16 +08:00 via Android
    。。。是 centos 啊。。。把用户名替换 localhost 试下
    Newyorkcity
        12
    Newyorkcity  
    OP
       2019-02-05 09:45:19 +08:00
    @Fulcrum 直接用服务器的 IP 地址也试过了.还是行不通..
    oott123
        13
    oott123  
       2019-02-05 11:48:09 +08:00 via Android
    看楼主的帖子,可能是哪儿多打了一个 i 吧。
    tengshe789
        14
    tengshe789  
       2019-02-05 12:29:01 +08:00 via Android
    Linux 中添加 host,将 localhost 指向 127.0.0.1
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   988 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 19:24 · PVG 03:24 · LAX 11:24 · JFK 14:24
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.