之前一直用 jdbc 连接本地 MySQL 以及局域网内 MySQL 都好使,但是最近将数据库放到阿里云服务器上以后 jdbc 连接就报异常失败了,不知道为什么,很困惑,表示本地用 mysql -u 用户名 -h 服务器地址 -P3306 -p 都是 OK 的呀呀呀… SOS
|
caixiexinAug 13, 2016 via Android
1
失败堆栈贴出来看看?
|
|
SoloCompanyAug 13, 2016
2
mysql 的 user/password 是跟 ip 相关的, ip 变化了,要重新 grant 的
|
|
ooTwTooAug 13, 2016 via iPhone
3
远程连接权限
|
|
4
@SoloCompany @ooTwToo grant 给%了呀…而且我本地使用命令行连接到阿里云服务器 MySQL 是成功的…就是 jdbc 连接的时候报错,然而我用 jdbc 连接局域网内的服务器时是成功的…
|
|
JoshuaJinAug 13, 2016
6
你先 telnet 一下服务器的端口,可能是防火墙的问题。
|
|
7
@JoshuaJin telnet xxx.xxx.xxx.xxx 3306 是好的…事实上我用 mysql 命令行是可以连接到阿里云服务器的 MySQL 的,就是用 jdbc 就不好使了( jdbc 连接局域网内 MySQL 是好的)…
|
|
syyyAug 14, 2016
8
我觉得你地址写错了。
|
|
9
@syyy 应该没有错,肉眼盯了好多遍了…而且 jdbc 里面的地址使用 IDEA 自带的 MySQL 连接工具 test successfully …
|
|
10
@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
@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 是可以成功连上的 |