求大神帮忙,JAVA远程连接MYSQL失败,本地成功
1) 我是阿里云LINUX-ECS2) 本地Navicat 可以连接 云MYSQL,IP/端口/用户/密码 3)JAVA 用127.0.0.1连接本地的WINDOWS MYSQL也可以连接4)当把 127.0.0.1 改为 云IP 就连接不上了5)my.cnf配置如下找了好多方法都解决不了
MySQL默认条件下设置了远程访问的限制。包括限制访问的IP,限制远程访问的用户。
为此需要进行如下的配置:
mysql> CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'username'@'%' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'username'@'%'
-> WITH GRANT OPTION;
修改:
/etc/mysql/my.cnf
将其中的
bind-address = 127.0.0.1
注释掉
第一次连接就失败所以不是等待超时的问题。
很可能是jdbc驱动和服务器上mysql版本不匹配。
jdbc驱动与mysql版本对照表:
Connector/J 5.1 支持Mysql 4.1、Mysql 5.0、Mysql 5.1、Mysql 6.0 alpha这些版本。
Connector/J 5.0 支持MySQL 4.1、MySQL 5.0 servers、distributed transaction (XA)。
Connector/J 3.1 支持MySQL 4.1、MySQL 5.0 servers、MySQL 5.0 except distributed transaction (XA) support。
Connector/J 3.0 支持MySQL 3.x or MySQL 4.1
换jdbc驱动版本试试。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。