我的数据库账户密码都正确,本地也可以进入mysql,user表也有localhost进入root权限,但是在代码中会报Access denied for use

后门的东墙 2020-01-12 03:18:09
java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129) at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835) at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455) at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240) at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:247) at com.wechat.db.DBConnection.getConnection(DBConnection.java:39) at com.wechat.db.SqlOpeations.insert2ComUser(SqlOpeations.java:66) at com.wechat.pojo.App.write2DB(App.java:715) at com.wechat.controller.UserController.requestQR(UserController.java:75) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:892) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:797) at org.springframework.web.servlet.mvc.method.AbstractHandl user表有相应的权限: mysql> select Host,User from user where User='root'; +-----------+------+ | Host | User | +-----------+------+ | % | root | | 127.0.0.1 | root | | localhost | root | +-----------+------+ 1.对于网上说的密码不正确,在我这里不成立,因为我的账户密码都是对的,包括代码里面的我已经核对过了。 2.说user表的,我也改过了,如上所示。 3.说url后缀的,我都试过了"jdbc:mysql://localhost:3306/db_wechat?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true";这些都已经试过了。 已经搞了两天了,求各位大佬给说一下原因或者解决方案。
...全文
709 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
后门的东墙 2020-01-16
  • 打赏
  • 举报
回复
引用 22 楼 重工黑大帅的回复:
[quote=引用 21 楼 后门的东墙的回复:][quote=引用 15 楼 runjimmy的回复:]问题解决了吗?哪位大师的方法是正确的?
在这给大家道个歉,这是由我自己的原因造成的。我在eclipse中有一个普通java项目,还有一个webapp项目,我是把那个普通java项目移植到webapp中的,所有文件名字都是相同的,所以当我改数据库的信息的时候,改到了原本的项目上。其实本该运行的项目一点都没被修改正确! 给大家道个歉![/quote] 我之前用到tomcat也要重新刷新服务器,项目名称之前存在服务器中,也写了两个一样的项目名称,复制粘贴过去的,下次注意[/quote] 嗯嗯,这个着实没想到,哎!
bkLion 2020-01-16
  • 打赏
  • 举报
回复
引用 21 楼 后门的东墙的回复:
[quote=引用 15 楼 runjimmy的回复:]问题解决了吗?哪位大师的方法是正确的?
在这给大家道个歉,这是由我自己的原因造成的。我在eclipse中有一个普通java项目,还有一个webapp项目,我是把那个普通java项目移植到webapp中的,所有文件名字都是相同的,所以当我改数据库的信息的时候,改到了原本的项目上。其实本该运行的项目一点都没被修改正确! 给大家道个歉![/quote] 我之前用到tomcat也要重新刷新服务器,项目名称之前存在服务器中,也写了两个一样的项目名称,复制粘贴过去的,下次注意
我是纯豆腐 2020-01-15
  • 打赏
  • 举报
回复
云服务器的数据库账号和密码不该是root吧,root是最高权限你拿不到的,应该是你云服务器创建房间数据库时候的一个账号,类似于子账号
光滑的秃头 2020-01-15
  • 打赏
  • 举报
回复
确认下版本,8版本的MySQL密码验证方式好像有变化
xiaoxiangqing 2020-01-15
  • 打赏
  • 举报
回复
不行的话,mysql重新安装一下
runjimmy 2020-01-15
  • 打赏
  • 举报
回复
问题解决了吗?哪位大师的方法是正确的?
sh_c_1314 2020-01-15
  • 打赏
  • 举报
回复
1 检查密码是否正确的, 2 权限问题,root用户只允许本地访问数据库,改一下权限试试 GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY '你的密码' WITH GRANT OPTION; FLUSH PRIVILEGES;//一定要刷新一下 3 记得MySQL所在的机器防火墙要允许MYSQL应用,还有检查相对应的MySQL端口3306是否开启。 一般就这几个问题。
后门的东墙 2020-01-15
  • 打赏
  • 举报
回复
引用 15 楼 runjimmy的回复:
问题解决了吗?哪位大师的方法是正确的?
在这给大家道个歉,这是由我自己的原因造成的。我在eclipse中有一个普通java项目,还有一个webapp项目,我是把那个普通java项目移植到webapp中的,所有文件名字都是相同的,所以当我改数据库的信息的时候,改到了原本的项目上。其实本该运行的项目一点都没被修改正确! 给大家道个歉!
后门的东墙 2020-01-15
  • 打赏
  • 举报
回复
引用 15 楼 runjimmy的回复:
问题解决了吗?哪位大师的方法是正确的?
这些其实都正确,就是这些问题导致的!仔细检查代码!
后门的东墙 2020-01-15
  • 打赏
  • 举报
回复
首先感谢各位的建议,这次问题让我非常清楚的理解了mysql的一些东西。感谢大家!
LemonSnm 2020-01-14
  • 打赏
  • 举报
回复
用127.0.0.1
cxyklw 2020-01-14
  • 打赏
  • 举报
回复
http://sbuservice.samsungmobile.com
后门的东墙 2020-01-12
  • 打赏
  • 举报
回复
引用 3 楼 树成的回复:
把mysql.user表中的host字段改为% 然后重启mysql试试看。
改过了,仍然是不行的
后门的东墙 2020-01-12
  • 打赏
  • 举报
回复
引用 6 楼 tandy的回复:
允许你的 mysql 进行非本地连接 ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '你的密码';
这个我已经开了,然后的话我把项目放在云服务器上跑,当进行连接数据库时,出现这个
后门的东墙 2020-01-12
  • 打赏
  • 举报
回复
引用 4 楼 hurtCat的回复:
用户名,密码未替换
这个就是用户名和密码,两个一样
tandy 2020-01-12
  • 打赏
  • 举报
回复
允许你的 mysql 进行非本地连接 ALTER USER 'root' IDENTIFIED WITH mysql_native_password BY '你的密码';
li905663280 2020-01-12
  • 打赏
  • 举报
回复
哈哈。这就尴尬了。
hurtCat 2020-01-12
  • 打赏
  • 举报
回复
用户名,密码未替换
树成 2020-01-12
  • 打赏
  • 举报
回复
把mysql.user表中的host字段改为% 然后重启mysql试试看。
后门的东墙 2020-01-12
  • 打赏
  • 举报
回复
链接代码如下:

public class DBConnection {
	private String url = "jdbc:mysql://localhost:3306/db_wechat?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true";//useUnicode=false&characterEncoding=utf8&serverTimezone=GMT%2B8&useSSL=false
	private String user = "root";
	private String password = "Zz740332251";

	private static DBConnection instance = null;
	private DBConnection(){};

	static {
		try {
			Class.forName("com.mysql.cj.jdbc.Driver");
		}catch (Exception e) {
			System.out.println("数据库加载不成功");
		}
	}

	public static DBConnection getInstace() {
		if(instance == null) {
			synchronized (DBConnection.class) {
				if(instance == null) {
					instance = new DBConnection();
				}
			}
		}
		return instance;
	}
	
	public Connection getConnection() {
		Connection connection = null;
		try {
			connection = DriverManager.getConnection(url, "root", "root");
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return connection;
	}
加载更多回复(1)

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧