opensuse做服务器小结

在opensuse上部署ss2h项目,遇到数据库连接问题,报500错误。尝试修改MySQL密码时手误导致无法连接。通过跳过权限验证恢复MySQL密码,并发现项目连接MySQL需使用特定用户权限。修复后项目成功部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

昨天要把项目部署到opensuse上,项目是ss2h框架,按照传统,在opensuse安装有tomcat,tomcat,jdk,当项目部署在tomcat时,普通的页面可以打开,但是与数据库有交互的页面报了500错误

报不能连接错误:

org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Cannot open 

一开始还以为是spring的Application问题,调了好一会儿功夫,觉得项目在本地跑是没问题的,应该是opensuse的mysql问题,于是去查看mysql,觉得密码很长,想改短一点,结果手误,把update set musql.user password=password('你想要的密码') where user='root';敲成了update set musql.user password='你想要的密码' where user='root‘;

然后 flush privlleges;再重启mysql服务。但当再次连接mysql时:mysql -uroot -p;输入密码时,怎么输都是错误的。在百度找了一些资料,想把密码改回来的思路是,跳过mysql的权限验证,即不需要密码进入mysql,折腾了许久,下面给出正确的步骤:

su root

killall -TERM mysqld

sudo chmod 777 /etc/my.cnf

vi /etc/cnf

再[mysqld]的下面插入一行:skip -grant-tables 保存退出

sudo chmod 644 /etc/my.cnf

service mysqld restart

mysql -uroot -p

提示密码时直接回车,进入mysql,再去改密码

service mysqld restart

mysql -uroot -p

提示输入密码,输入密码即可

上面是把mysql密码改好了

这时候再重新在tomcat部署项目时,ok了。

想到这里,我才有点明白,其实是误打误撞,我是在opensuse的root用户下修改mysql密码的,所以在进入mysql时,也必须是root用户,之前的项目在连接时,并不是root用户,所以连接不上mysql,也许是以前在安装mysql时,有些文件需要root权限


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值