才子佳人博客

我的故事我讲述

mysql客户端与服务器的授权访问
 
来源:xjh  编辑:xjh  2006-12-12

前段时间,重装web服务器,mysql数据库服务器后,发现如下异常:
2006-12-0117:14:36[com.talented.connection.MysqlConnection]-[ERROR]java.sql.SQLException:null,messagefromserver:"Hostwww.qfmy.tyut.edu.cnisnotallowedtoconnecttothisMySQLserver"
2006-12-0117:14:36[StandardWrapper[:jsp]]-[ERROR]Servlet.service()forservletjspthrewexception

这就怪了,重装系统以前网站运行好好的,什么原因呢?折腾了半天,原来是数据库重装后引出的问题,我把具体的问题和解决办法记录下来,避免以后走弯路:

异常信息:

2006-12-0117:14:36[com.talented.connection.MysqlConnection]-[ERROR]java.sql.SQLException:null,messagefromserver:"Hostwww.qfmy.tyut.edu.cnisnotallowedtoconnecttothisMySQLserver"
2006-12-0117:14:36[StandardWrapper[:jsp]]-[ERROR]Servlet.service()forservletjspthrewexception
java.lang.NullPointerException
 atcom.talented.dao.BlogDAO.getRecordCount(BlogDAO.java:53)
 atorg.apache.jsp.index_jsp._jspService(org.apache.jsp.index_jsp:60)

问题原因:

重装后直接拷贝数据文件引起。

解决办法:

进入mysql,创建一个新用户user1:

格式:grant权限on数据库名.表名用户@登录主机identified by"用户密码";

grant select,update,insert,delete on *.* to user1@192.168.1.21 identified by"1234";

查看结果,执行:

use mysql;

select host,user,password from user;

可以看到在user表中已有刚才创建的user1用户。host字段表示登录的主机,其值可以用IP,也可用主机名,

将host字段的值改为%就表示在任何客户端机器上能以user1用户登录到mysql服务器,建议在开发时设为%。

update user set host=% where user=user1;

也可以直接执行如下命令:

GRANT SELECT,INSERT,DELETE,UPDATE ON *.* TO user1@"%" IDENTIFIED BY "1234";

范例的用户:user1,密码:1234,在实际操作中可以替换。


分类:网络日志| 查看评论
相关文章
文章点击排行
本年度文章点击排行
发表评论:
  • 昵称: *
  • 邮箱: *
  • 网址:
  • 评论:(最多100字)
  • 验证码: