新公司使用的是寶塔來部署專案,war包,在部署運行時遇到了SQLException: Access denied for user 'xxx@xxxxx' (using password:yes)
重裝mysql無果之后,就只能慢慢解決,分享下我的解決程序,
# 一. 錯誤原因
正常來講,使用navicat等連接工具 訪問/創建 資料庫時,就會遇到這種錯誤,錯誤原因無外乎這兩種,
## 1. 訪問的ip,賬號,密碼輸入錯誤
正常來講專案遇到這種錯誤,檢查下ip填寫是否正確,賬號密碼有沒有帶空格,就能解決這種問題,
## 2. 賬戶權限不足
如果上述方法嘗試均未能解決,那就要進到服務器看看賬戶權限了,
### 1)查看mysql的所有用戶
使用 mysql -u root -p 命令,再輸入密碼登錄Mysql,
SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user; 使用sql查詢user表中的用戶資訊

如圖,查看自己的賬號的權限,%是全部權限,如果是沒有權限可以賦值給這個用戶,
PS: 我遇到的問題是,這個mysql 的%權限竟然不包括 localhost 本地訪問權限,我要在安裝這個mysql的本地去訪問它,就必須單獨對其單獨賦值,
原因暫不明,猜測是版本問題,重裝過依舊存在這種情況,
### 2)查看權限
show grants for '用戶名'@'%'; 查看用戶權限 ,看看用戶是否有操作權限,

### 3)賦予權限
grant all privileges on main_db.* to 用戶名@'%' identified by '表名'; 如果沒有,則賦予其相應資料庫的操作權限 ,
flush privileges; 賦予完權限后,別忘記重繪,然后再次查看這個用戶的權限,就知道有沒有執行成功了,
PS:友情提示每一個 命令/sql 都要注意帶分號,
最普遍的還是,資料庫地址,賬號密碼不正確,大家多多細心,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/40031.html
標籤:MySQL
下一篇:mysql之上二級
