手机扫一扫访问本页内容

微信扫描点右上角"···"分享到好友或朋友圈

关闭
微信扫一扫可打开小程序

微信长按图片或搜“分享录”可打开小程序

关闭
MySQL,经验 ,

解决MySQL数据库报1142(42000)ALTER/REFERENCES command denied to user没权限问题

MySQL数据库报错的关键信息有“ALTER command denied to user”、“REFERENCES command denied to user”、“code=1142, state=42000”,具体如下:

Caused by: <openjpa-3.2.0-r6f721f6 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: ALTER command denied to user 'xxx'@'192.168.1.102' for table 'james_mail' {stmnt 942649169 ALTER TABLE JAMES_MAIL ADD FOREIGN KEY (MAILBOX_ID) REFERENCES JAMES_MAILBOX (MAILBOX_ID) ON DELETE CASCADE} [code=1142, state=42000]
Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException: REFERENCES command denied to user 'xxx'@'192.168.1.102' for table 'james.james_mailbox' {stmnt 545707113 ALTER TABLE JAMES_MAIL ADD FOREIGN KEY (MAILBOX_ID) REFERENCES JAMES_MAILBOX (MAILBOX_ID) ON DELETE CASCADE} [code=1142, state=42000]

可以看出是账号没有ALTER/REFERENCES等权限造成的,解决办法就是缺什么权限授权什么就可以了。

#查看权限
show grants for '账号名'@'%';
#授权
GRANT ALTER,REFERENCES ON 数据库命.* TO '账号名'@'%';
flush privileges;

另外,具体还有哪些权限可以通过官网文档查看。

其中MySQL8.0版Privileges Provided by MySQL分静态(Table 6.2 Permissible Static Privileges for GRANT and REVOKE)和动态(Table 6.3 Permissible Dynamic Privileges for GRANT and REVOKE)两种权限,主要区别就是动态权限是定义在运行时,静态权限是内置在服务区中(Dynamic privileges are defined at runtime, in contrast to static privileges, which are built in to the server. )。

MySQL5.7版Privileges Provided by MySQL只用一种(Table 6.2 Permissible Privileges for GRANT and REVOKE)权限。


历史上的今天:

展开阅读全文


上一篇:

下一篇:

服务器又要到期了鼓励一下吧
您还可以访问本站的小程序、公众号等所有端,或者下载APP, 在小程序、APP上可以评论文章以及保存图片还有在线客服哦,如您有任何疑问或建议可向作者提出意见反馈
扫码打开小程序可评论文章保存图片,在“我的”有实时在线客服哦,看效果?
关注我的公众号为您分享各类有用信息
分享录多端跨平台系统