服务器之家

服务器之家 > 正文

Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

时间:2021-08-27 16:31     来源/作者:guan_yan_guan

web项目使用使用root账号root密码进行部署,通过eclipse加载到tomcat服务器可以发布成功,打成war包放到tomcat的webapps目录无法发布成功,报错:

Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

jdbc.properties涉及mysql配置:

Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

错误很明显,与mysql密码有关,但是两种方式部署项目使用的jdbc.properties配置文件是一样的。所以肯定不是密码不对引起的,只好找度娘,o(∩_∩)o哈哈~。

网上大部分帖通过运行mysql -u root -p命令登录时也会报这个错误,所以,我就尝试这种方法登录下,看是否存在同样的问题。

Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

经查资料原因是root帐户默认不开放远程访问权限,所以需要修改一下相关权限。

解决方法:

方法一:

1.打开mysql目录下的my.ini文件,在文件的最后添加一行"skip-grant-tables",保存并关闭文件。(win7默认安装,my.ini在c:\programdata\mysql\mysql server 5.6)

Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

2. 重启mysql服务。

3. 通过命令行进入mysql的bin目录,输入"mysql -u root -p"(不输入密码),回车即可进入数据库。(win7默认安装,bin目录为:c:\program files\mysql\mysql server 5.6\bin)
4. 执行"use mysql;",使用mysql数据库。
5. 执行"update user set authentication_string=password("admin") where user='root';"(修改root的密码)
6. 打开mysql目录下的my.ini文件,删除最后一行的“skip-grant-tables”,保存并关闭文件。

前边的步骤,其实也可以直接通过mysql客户端工具修改root密码.(如图)

Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

7. 重启mysql服务。
8. 在命令行中输入"mysql -u root -padmin",即可成功连接数据库。

完成以上步骤,修改jdbc.properties配置,eclipse和war包方式都可以成功部署到tomcat服务器.问题终于解决。

附录方法二:

1. 管理员登陆系统,停止mysql服务或者结束mysqld-nt进程;
2. 进入命令行,来到mysql的安装目录.假设安装目录为 d:\mysql\ , cmd进入命令行;
3. 运行 d:\program files\mysql\mysql server 5.5\bin\mysqld-nt --skip-grant-tables启动mysql,关闭权限的检查;
4. 运行 d:\program files\mysql\mysql server 5.5\bin\mysqladmin -u root flush-privileges password "newpassword" 重设root密码;
5. 重新启动mysql服务;

小插曲:

在解决问题当中,根据网上描述,通过mysql -u root -p password方式访问mysql,结果报如下错误:

Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

但是奇怪的是这条命令我输进去死活都不对,它都会要求再输入一遍密码,然后返回"error 1049 (42000): unknown database '123456'"

这个错误提示很明显,我们-p后面的password代表的是数据库名称。但-p这个参数,p应该代表的是password。百度后发现,-p和密码是连在一起的。

?
1
mysql -h localhost -u root -ppassword

-p和密码是连在一起的,赶紧一试,果然可以登陆!

 Web项目打成war包部署到tomcat时报MySQL Access denied for user ''root''@''localhost'' (using password: YES)错误解决方案(推)

原文链接:http://www.cnblogs.com/guanzhyan/p/8301893.html

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部