最近要研究OFBIZ,要用到mysql,所以装了一个,在wsad里要连一下,没想到就此遇到了问题。
先是mysql,总是提示@localhost用户错误,无法进入,几年前玩过这玩意,没记得有这么麻烦啊。还记得那会只要mysql -u root -p就可以了,现在不行了居然。
虽然最后弄了个mysql studio5.0,手工把用户的localhost项都删掉了,才解决,但还是没搞明白这个东西用意何在了!
mysql的问题解决了,但在程序连接上又出问题了,总是报错:[Servlet 错误]-[Communication failure during handshake. Is there a server running on localhost:3306?]:java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
难道是3306端口没打开??用netstat -an检查,没问题,是打开了的。看服务,mysql也启动了。
终于怀疑到是版本是否不匹配问题。我的mysql是mysql-5.0.0a-alpha-win,JDBC驱动是mm.mysql-2.0.14-bin.jar,由于有印象看有人问过他用的驱动是mysql-connector-java-3.0.10-stable-bin.jar,所以把这个新版本的下载下来,放入classpath,还是不行???
愤怒中重启机器,之后再运行,居然就可以了。哦,原来该了lib,是要重启服务的,气晕了。
总结:看来就是版本不匹配问题了,这免费的东西就是没保障啊,浪费了我一天的时间,作孽啊!
现在偶的WSAD想用DB2用DB2,想用mysql用mysql,适意啊!
最后再鄙视一下struts,每次偶重构项目就死在这上面,偶现在都不敢构建了!