您好,欢迎访问一九零五行业门户网

MySQL用户权限导致的创建Trigger失败

mysql一直处于只会用,不怎么理解的阶段。甚至是一些较为深层次的管理,都不怎么熟悉,得加强啊!近日,系统测试,使用mysql数据
说来惭愧,mysql一直处于只会用,不怎么理解的阶段。甚至是一些较为深层次的管理,都不怎么熟悉,得加强啊!
近日,,系统测试,使用mysql数据库,需要在某个表上创建触发器,数据库是在本机安装。但是,无论如何都无法创建触发器,后台错误信息如下:
com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: trigger command denied to user 'root'@'mortimer-pc' for table 't_user'
 at sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)
 at sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39)
 at sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27)
 at java.lang.reflect.constructor.newinstance(constructor.java:513)
 at com.mysql.jdbc.util.handlenewinstance(util.java:411)
 at com.mysql.jdbc.util.getinstance(util.java:386)
 at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1052)
 at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4096)
 at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4028)
 at com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2490)
 at com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2651)
 at com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2677)
 at com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2627)
 at com.mysql.jdbc.statementimpl.execute(statementimpl.java:841)
 at com.mysql.jdbc.statementimpl.execute(statementimpl.java:681)
 at com.apusic.jdbc.adapter.statementhandle.execute(unknown source)
 at com.apusic.esb.base.util.sqlutil.createdbobjectifnecessary(sqlutil.java:263)
 at com.apusic.esb.base.util.sqlutil.createdbobjectifnecessary(sqlutil.java:225)
 at com.apusic.esb.config.trigger.mysql.mysqltriggermanager.createtriggersifnecessary(mysqltriggermanager.java:83)
 at com.apusic.esb.config.trigger.triggerconfigmanager.deploy(triggerconfigmanager.java:331)
 at sun.reflect.nativemethodaccessorimpl.invoke0(native method)
 at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)
 at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)
 at java.lang.reflect.method.invoke(method.java:597)
 at com.apusic.esb.base.communication.comminvokeutil.invoke(comminvokeutil.java:139)
 at com.apusic.esb.base.communication.comminvokeutil.invoke(comminvokeutil.java:43)
 at com.apusic.esb.base.communication.comminvokeutil.invoke(comminvokeutil.java:27)
 at com.apusic.esb.base.communication.socket.server.commsocketserver$requestprocessor.run(commsocketserver.java:99)
 at com.apusic.util.threadpoolimpl$workerthread.run(unknown source)
2014-06-25 10:38:42 错误 [apusic.com.apusic.esb.config.trigger.triggerconfigmanager]
com.mysql.jdbc.exceptions.jdbc4.mysqlsyntaxerrorexception: trigger command denied to user 'root'@'mortimer-pc' for table 't_user'
 at sun.reflect.nativeconstructoraccessorimpl.newinstance0(native method)
 at sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl.java:39)
 at sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl.java:27)
 at java.lang.reflect.constructor.newinstance(constructor.java:513)
 at com.mysql.jdbc.util.handlenewinstance(util.java:411)
 at com.mysql.jdbc.util.getinstance(util.java:386)
 at com.mysql.jdbc.sqlerror.createsqlexception(sqlerror.java:1052)
 at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4096)
 at com.mysql.jdbc.mysqlio.checkerrorpacket(mysqlio.java:4028)
 at com.mysql.jdbc.mysqlio.sendcommand(mysqlio.java:2490)
 at com.mysql.jdbc.mysqlio.sqlquerydirect(mysqlio.java:2651)
 at com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2677)
 at com.mysql.jdbc.connectionimpl.execsql(connectionimpl.java:2627)
 at com.mysql.jdbc.statementimpl.execute(statementimpl.java:841)
 at com.mysql.jdbc.statementimpl.execute(statementimpl.java:681)
 at com.apusic.jdbc.adapter.statementhandle.execute(unknown source)
 at com.apusic.esb.base.util.sqlutil.createdbobjectifnecessary(sqlutil.java:263)
 at com.apusic.esb.base.util.sqlutil.createdbobjectifnecessary(sqlutil.java:225)
 at com.apusic.esb.config.trigger.mysql.mysqltriggermanager.createtriggersifnecessary(mysqltriggermanager.java:83)
 at com.apusic.esb.config.trigger.triggerconfigmanager.deploy(triggerconfigmanager.java:331)
 at sun.reflect.nativemethodaccessorimpl.invoke0(native method)
 at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)
 at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)
 at java.lang.reflect.method.invoke(method.java:597)
 at com.apusic.esb.base.communication.comminvokeutil.invoke(comminvokeutil.java:139)
 at com.apusic.esb.base.communication.comminvokeutil.invoke(comminvokeutil.java:43)
 at com.apusic.esb.base.communication.comminvokeutil.invoke(comminvokeutil.java:27)
 at com.apusic.esb.base.communication.socket.server.commsocketserver$requestprocessor.run(commsocketserver.java:99)
 at com.apusic.util.threadpoolimpl$workerthread.run(unknown source)
分析错误信息:trigger command denied to user 'root'@'mortimer-pc' for table 't_user',看起来是不允许root用户在t_user表上执行trigger命令,为啥不允许?
分析下,首先怀疑是否驱动的问题,因为,驱动确实存在不匹配的问题,驱动的版本较低(针对5.0),而服务器版本为5.5,替换驱动之后问题依旧。
其它类似信息

推荐信息