我正在将 JBOSS 和 MySQL 从 Windows 2008 R2 转换到 Ubuntu 12.04 LTS
在虚拟 Windows 中,有 MySQL 9.6 和 JBOSS 7.1.1.Final。一切正常。这意味着 Windows JBOSS 正在运行并且数据源已配置为连接到 Windows MySQL。能够访问网站,进行数据库调用等。
在 Virtual Ubuntu 中,安装了 JBOSS 7.1.1.Final 和 MySQL 9.6。两个应用程序都在运行。 JBOSS 运行良好,数据源连接到 Windows MySQL。将 Windows MySQL 数据库转储到 Ubuntu MySQL 数据库。在 Ubuntu MySQL 中创建相同的用户以匹配具有相同权限的 Windows MySQL。
CREATE USER myDb IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON myDb.* TO 'myuser'@'%';
在两个 JBOSS 中,当我将数据源连接字符串从 Windows MySQL 更改为 Ubuntu MySQL 时,永远不会建立连接。我在 Ubuntu MySQL 中玩过“my.cnf”文件,我能够从其他远程机器建立连接。在 Windows 中使用 MySQL Workbench,我能够连接到两个 MySQL 服务器(Windows 和 Ubuntu)。
我在 JBOSS 中收到以下错误:
Unknown error
Unexpected HTTP response: 500
Request
{
"address" => [
("subsystem" => "datasources"),
("data-source" => "MYSQLDS_myDb")
],
"operation" => "test-connection-in-pool"
}
Response
Internal Server Error
{
"outcome" => "failed",
"failure-description" => "JBAS010440: failed to invoke operation: JBAS010447: Connection is not valid",
"rolled-back" => true
}
我还运行它来查看 Ubuntu MySQL 是否正在运行以及它正在监听哪个端口。
root@M1:/# lsof -i -P | grep mysql
mysqld 58737 mysql 11u IPv6 418152190 0t0 TCP *:3306 (LISTEN)
这是我的连接字符串:jdbc:mysql://M1:3306/myDb
我试过使用机器名、IP 地址和“localhost”(因为 Ubuntu JBOSS 和 Ubuntu MYSQL在同一台机器上)。
我连接到 Windows MySQL 的连接字符串是:jdbc:mysql://W1:3306/myDb
并且可以正常工作。
最佳答案
解决了我自己的问题。有点尴尬,但是,在导入到 Ubuntu MySQL 时,数据库名称已更改为小写。因此,连接字符串不正确,因为我需要输入小写的数据库名称。
关于mysql - JBOSS 和 MySql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23021559/