我的 Ubuntu 11.10 桌面上有一个本地 mysql 服务器。主机名=本地主机;用户名=根;密码=root;数据库名称 = CBS.我真的很困惑,因为当我使用 访问 mysql 时terminal
, mysql administrator
, and mysql query browser
我使用上面提到的身份验证,一切正常。我的问题是,当我在 Java 应用程序中配置 jdbc.properties 时,出现此错误:
org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是org.springframework.jdbc.UncategorizedSQLException:Hibernate操作:无法打开连接; SQL 的未分类 SQLException [???]; SQL状态[28000];错误代码[1045];用户“root”@“localhost”的访问被拒绝(使用密码:YES);嵌套异常是 java.sql.SQLException:用户 'root '@'localhost' 的访问被拒绝(使用密码:YES)
我的配置文件 jdbc.properties:
jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/CBS
jdbc.username=root
jdbc.password=root
顺便说一句,我之所以使用本地服务器,是因为我们的主服务器关闭了,所以我必须使用本地 mysql 来继续我的项目。请帮助我...提前致谢。
您的框架很可能正在登录本地数据库127.0.0.1
。如果您没有定义适当的域范围凭据,这将在 MySQL 中产生登录问题。尝试这样做来验证:
mysql -uroot -proot
SELECT * from mysql.user WHERE user = 'root';
如果没有“root”@“127.0.0.1”,则已找到问题并进行修复,请执行以下两项操作之一:
- 在“127.0.0.1”处为“root”定义域范围的凭据。
- 为“root”定义通配符域范围的凭据,这样您就可以
使用这些凭据从多个位置登录到您的 MySQL。
这是第二个的示例:
mysql -uroot -proot
CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;
顺便说一句,我绝对建议您为您的用户 ID 和密码使用更具创意的内容。特别是如果您的服务器启用了 TCP 套接字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)