环境:
mysql 5.0.27(部署在linux2.6.9-22.0.1_svr_10smp #1 SMP)windows机器上运行程序通过jdbc访问mysql(linux上的),创建触发器正常.但是在linux本机通过jdbc访问mysql报错,
即使授权SUPER(
GRANT SUPER ON *.* TO bt3@"%" IDENTIFIED BY 'bt3';
flush privileges;
)还报错:
CREATE TRIGGER trigger_App_custom200 AFTER INSERT ON app_AssetCustomInfo200 FOR EACH ROW BEGIN update app_AssetBasicInfo set Title=NEW.File_Name,ArchiveID=NEW.ArchNo,KeepTime=NEW.Storage_Life,FillingYear=NEW.FileYear,SecurityClass=NEW.Secret_Level,FondsNo=NEW.Comp_Totalsect,ArchiveUnit=NEW.Archive_Unit,CompSort=NEW.Comp_Sort,CompCategory=NEW.Comp_Category,CompContent=NEW.Comp_Content, CompVol=NEW.Comp_Vol,StorageUnit=NEW.Storage_Unit,HuaKong=NEW.Hua_Kong,CanLend=NEW.Can_Brrw,CopiesAvailable=NEW.Can_BrrwCopies,copies=NEW.CanCopies,AssetStatus=NEW.StatusBT where ID= NEW.ID; end;
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied; you need the SUPER privilege for this operation
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2822)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1536)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1626)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3025)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2954)
at com.mysql.jdbc.Statement.execute(Statement.java:681)
at com.founder.fdam.database.MYSQLDBManager.DDLExecuteDBSQL(MYSQLDBManager.java:583)
at com.founder.fdam.database.MYSQLDBManager.DDLAddTrigger(MYSQLDBManager.java:1477)
at com.founder.fdam.database.DBUtil.DDLCreateAssetCategoryFromModule(DBUtil.java:618)
at com.founder.farch.attribute.CategoryUse.fnAddNewCategory(CategoryUse.java:1813)
at com.founder.farch.attribute.CategoryUse.AddOneAssetCategory(CategoryUse.java:1680)
at org.apache.jsp.jsp.sysmanage.sysattribute.writeCategory_jsp._jspService(org.apache.jsp.jsp.sysmanage.sysattribute.writeCategory_jsp:116)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.founder.botong.filters.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:170)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
mysql 5.0.27(部署在linux2.6.9-22.0.1_svr_10smp #1 SMP)windows机器上运行程序通过jdbc访问mysql(linux上的),创建触发器正常.但是在linux本机通过jdbc访问mysql报错,
即使授权SUPER(
GRANT SUPER ON *.* TO bt3@"%" IDENTIFIED BY 'bt3';
flush privileges;
)还报错:
CREATE TRIGGER trigger_App_custom200 AFTER INSERT ON app_AssetCustomInfo200 FOR EACH ROW BEGIN update app_AssetBasicInfo set Title=NEW.File_Name,ArchiveID=NEW.ArchNo,KeepTime=NEW.Storage_Life,FillingYear=NEW.FileYear,SecurityClass=NEW.Secret_Level,FondsNo=NEW.Comp_Totalsect,ArchiveUnit=NEW.Archive_Unit,CompSort=NEW.Comp_Sort,CompCategory=NEW.Comp_Category,CompContent=NEW.Comp_Content, CompVol=NEW.Comp_Vol,StorageUnit=NEW.Storage_Unit,HuaKong=NEW.Hua_Kong,CanLend=NEW.Can_Brrw,CopiesAvailable=NEW.Can_BrrwCopies,copies=NEW.CanCopies,AssetStatus=NEW.StatusBT where ID= NEW.ID; end;
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Access denied; you need the SUPER privilege for this operation
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2822)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1536)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1626)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3025)
at com.mysql.jdbc.Connection.execSQL(Connection.java:2954)
at com.mysql.jdbc.Statement.execute(Statement.java:681)
at com.founder.fdam.database.MYSQLDBManager.DDLExecuteDBSQL(MYSQLDBManager.java:583)
at com.founder.fdam.database.MYSQLDBManager.DDLAddTrigger(MYSQLDBManager.java:1477)
at com.founder.fdam.database.DBUtil.DDLCreateAssetCategoryFromModule(DBUtil.java:618)
at com.founder.farch.attribute.CategoryUse.fnAddNewCategory(CategoryUse.java:1813)
at com.founder.farch.attribute.CategoryUse.AddOneAssetCategory(CategoryUse.java:1680)
at org.apache.jsp.jsp.sysmanage.sysattribute.writeCategory_jsp._jspService(org.apache.jsp.jsp.sysmanage.sysattribute.writeCategory_jsp:116)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.founder.botong.filters.SessionTimeoutFilter.doFilter(SessionTimeoutFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:170)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
jdbc版本:mysql-connector-java-5.0.0-beta-bin.jar
mysql> GRANT SUPER ON *.* TO bt3@"192.168.0.8" IDENTIFIED BY 'bt3';
Query OK, 0 rows affected (0.00 sec)mysql> GRANT SUPER ON *.* TO bt3@"localhost" IDENTIFIED BY 'bt3';
Query OK, 0 rows affected (0.00 sec)mysql> GRANT SUPER ON *.* TO bt3@"GuangDong" IDENTIFIED BY 'bt3';
Query OK, 0 rows affected (0.00 sec)mysql> flush privileges;
Query OK, 0 rows affected (0.02 sec)mysql> exit
Bye