我在从 jboss 连接到远程机器上运行的 mysql 时遇到问题,
环境设置:
1. Linux machines
(Jboss) node1:192.168.1.12
(mysql) node2:172.18.0.1
我在 node1 上运行 jboss,在 node2 上运行 mysql。我想从 jboss 连接到 mysql。我修改了 mysql-ds.xml,修改如下:
<local-tx-datasource>
<jndi-name>jdbc/ser</jndi-name>
<use-java-context>false</use-java-context>
<connection-url>jdbc:mysql://172.18.0.1:3306/roulette?zeroDateTimeBehavior=convertToNull</connection-url>
<driver-class>com.mysql.jdbc.Driver</driver-class>
<user-name>root</user-name>
<password>1234</password>
<valid-connection-checker-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLValidConnectionChecker</valid-connection-checker-class-name>
<metadata>
<type-mapping>mySQL</type-mapping>
</metadata>
</local-tx-datasource>
并且我在 node2 中的 /etc/hosts 文件中添加了条目以授予对 node1 的访问权限,如下所示:
127.0.0.1 localhost
127.0.1.1 vishal
192.168.1.12 node1
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
当我启动 jboss 时,它给出错误:java.sql.SQLException:用户访问被拒绝[电子邮件保护](使用密码:是)
答案1
您的 MySql Server 未设置为接受来自远程主机的“root”用户连接。您可以尝试使用其他用户吗?
答案2
您有网络连接吗?通过堆栈/您可以使用 telnet 从源连接到目标上绑定的 mysqld 端口吗?您可以使用命令行工具连接以测试与数据库的 SQL 连接吗?