在我的电脑上重新安装Mysql 5.5后,mysql拒绝从我的Jboss 7应用服务器发出的所有连接。
配置文件仅更改了数据库服务器实例。 我可以使用命令行连接(jboss配置中定义的用户和密码与前一个mysql实例相同)
我按如下方式设置用户和数据库:
create database business_service;
create user 'business_service'@'%' identified by 'xxxx';
create user 'business_service'@'localhost' identified by 'xxxx';
GRANT ALL PRIVILEGES ON business_service.* TO 'business_service'@'%' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON business_service.* TO 'business_service'@'localhost' WITH GRANT OPTION;
此时我可以使用mysql workbench直接从cmd行登录到上面的数据库:
mysql -u business_service -p
然而,当我使用相同的文件启动Jboss 7时连接到之前的mysql 5.5数据库(新PC,但由于JBoss是基于文件系统而且所有路径都是相同的,我需要做的就是复制文件系统它返回:
Caused by: java.sql.SQLException: Access denied for user 'business_service'@'localhost' (using password: YES)
我的假设是有某种设置说纯文本密码不被接受,我首先尝试使用mysql 5.6但是遇到了同样的问题,并且在搞乱各种各样的mysql设置后决定恢复到5.5,但没有快乐。
所以我的问题是: 1)关于我没有设置允许XA JDBC资源连接的交换机,是否会跳出任何内容? 2)如果没有,我可以告诉MYSQL记录进来的密码(我可以在JBOSS尝试连接的日志中看到)所以我可以看到它可能是加密的。 3)Mysql允许没有密码的连接(如果所有其他方法都失败) 4)还有其他想法吗?
由于 马克
答案 0 :(得分:0)
非常小心您在MYSQL的用户密码中使用的字符..... 我有一个感叹号"!"作为其中一个字符,MYSQL不会阻止您使用它,但是当您使用创建帐户时使用的相同密码登录时,它会将密码视为不正确。
疯狂浪费时间,希望没有其他人陷入这个陷阱。
干杯 马克