mysql - JBOSS 和 MySql

标签 mysql database ubuntu jboss datasource

我正在将 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/

相关文章:

mysql - 如何删除MySQL中两个字符串之间的多余空格

php - 透视查询以显示一年中每一天的数据

mysql - 连接mysql数据库中的字段?

java - 将字符串文本提取到另一个字符串中

linux - 生产服务器上的 NodeJS - 权限

mysql - 从另一个表更新 MySQL 表

python - MySQL进程列表历史维护

python - OSError : locale. 错误 - 不支持的区域设置

java - Hadoop 伪分布式 java.net.ConnectException : Connection refused on virtual box

php - 如何在一列中向数据库中插入多个数据