我在mysql创建了一个mydbone数据库,数据库中有存储过程和触发器,我想为这个数据库单设置用户名和密码权限,
GRANT SELECT,INSERT,UPDATE,DELETE,DROP ON mydbone.* TO 'useone'@'localhost' IDENTIFIED BY '123one';
我为数据库mydbone设置了用户名useone密码123one,
可是我无法访问进去,老是报没有登陆的那个pro_logon存储过程。
是不是因为root用户没有被禁掉,还是因为我的设置问题,哪位高手能够指教一下?
最好能给一个线程能用的方法和解决代码,
多谢各位啦。

解决方案 »

  1.   

    create user useone;
    grant all privileges on mydbone.* to useone@'%' identified by '123one' with grant option;
    update user set password=old_password('123one') where user='useone';
      

  2.   


    一楼的方法应该可以解决了。
    mySQL默认授权往往只给了[email protected]
      

  3.   

    009-3-17 14:36:03 org.apache.struts.action.RequestProcessor processException
    警告: Unhandled Exception thrown: class java.lang.NullPointerException
    2009-3-17 14:36:03 org.apache.catalina.core.StandardWrapperValve invoke
    严重: Servlet.service() for servlet action threw exception
    java.lang.NullPointerException
    at com.mysql.jdbc.SchemaDataUsingShow.getCallStmtParameterTypes(SchemaDataUsingShow.java:3161)
    at com.mysql.jdbc.SchemaDataUsingShow.getProcedureColumns(SchemaDataUsingShow.java:1160)
    at com.mysql.jdbc.DatabaseMetaData.getProcedureColumns(DatabaseMetaData.java:129)
    at com.mysql.jdbc.CallableStatement.determineParameterTypes(CallableStatement.java:1030)
    at com.mysql.jdbc.CallableStatement.<init>(CallableStatement.java:83)
    at com.mysql.jdbc.Connection.prepareCall(Connection.java:1204)
    at com.mysql.jdbc.Connection.prepareCall(Connection.java:1181)
    at com.linjiada.dao.StorageProcessCustomize.Proc_InLogin(StorageProcessCustomize.java:58)
    at com.linjiada.web.action.LoginAction.execute(LoginAction.java:75)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:419)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at com.linjiada.filter.filterChar.doFilter(filterChar.java:25)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)
    at java.lang.Thread.run(Thread.java:595)
    依旧是不行地,因为数据权限还是不够访问存储过程的权利