如何从 jboss 远程连接运行的 mysql

如何从 jboss 远程连接运行的 mysql

我在从 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 连接吗?

相关内容