Access denied for user 'test'@'%' to database 'mysql'


1、問題描述

今天使用MySQL新建了一個用戶,此處假設為test用戶,用來作為某安裝軟件的配置用戶(會新建大量的表及視圖)

mysql> create user 'test'@'%' identified by '123456';

並將mysql數據庫授權給test

mysql> grant select,delete,update,create,drop on mysql.* to test@"%" identified by "123456";

以上均使用root用戶執行

在軟件中配置jdbc連接時,報錯如題:access denied for user 'test'@'%' to database 'mysql'。

2、問題分析

 考慮是權限不足的問題被拒絕訪問,查看了一些網上的回答,測試如下方法可行

3、解決方案

查看user表中root用戶及test用戶的權限對比

mysql> select Grant_priv,Super_priv from mysql.user where user in ('root','test');

發現root用戶這兩個value都是'Y',而test用戶都是'N'

將test用戶這兩個value都更新為'Y'

mysql> update mysql.user set Grant_priv='Y',Super_priv='Y' where user = 'test' and host = '%';

而后重啟mysql服務即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM