之前一直用 jdbc 连接本地 MySQL 以及局域网内 MySQL 都好使,但是最近将数据库放到阿里云服务器上以后 jdbc 连接就报异常失败了,不知道为什么,很困惑,表示本地用 mysql -u 用户名 -h 服务器地址 -P3306 -p 都是 OK 的呀呀呀… SOS

1 caixiexin Aug 13, 2016 via Android 失败堆栈贴出来看看? |
2 SoloCompany Aug 13, 2016 mysql 的 user/password 是跟 ip 相关的, ip 变化了,要重新 grant 的 |
3 ooTwToo Aug 13, 2016 via iPhone 远程连接权限 |
4 ChiyoLin OP @SoloCompany @ooTwToo grant 给%了呀…而且我本地使用命令行连接到阿里云服务器 MySQL 是成功的…就是 jdbc 连接的时候报错,然而我用 jdbc 连接局域网内的服务器时是成功的… |
5 ChiyoLin OP @caixiexin 等一下开电脑贴,其实无非就是一些提示连接超时的 exceptions ,换成本地 ip 就又正常了… |
6 JoshuaJin Aug 13, 2016 你先 telnet 一下服务器的端口,可能是防火墙的问题。 |
7 ChiyoLin OP @JoshuaJin telnet xxx.xxx.xxx.xxx 3306 是好的…事实上我用 mysql 命令行是可以连接到阿里云服务器的 MySQL 的,就是用 jdbc 就不好使了( jdbc 连接局域网内 MySQL 是好的)… |
8 syyy Aug 14, 2016 我觉得你地址写错了。 |
9 ChiyoLin OP @syyy 应该没有错,肉眼盯了好多遍了…而且 jdbc 里面的地址使用 IDEA 自带的 MySQL 连接工具 test successfully … |
10 ChiyoLin OP @ChiyoLin 异常↓ Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out. Caused by: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out. 表示使用命令行 mysql -uusername -hserveraddress -p 是可以成功连上的 |
11 ChiyoLin OP @caixiexin 异常↓ Caused by: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: An attempt by a client to checkout a Connection has timed out. Caused by: java.sql.SQLException: An attempt by a client to checkout a Connection has timed out. 表示使用命令行 mysql -uusername -hserveraddress -p 是可以成功连上的 |