opensuse做服务器小结

昨天要把项目部署到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权限


你可能感兴趣的:(tomcat,linux,mysql,opensuse,mysql修改密码)