2015-11-26 59 views
2

所以我最近通過Microsoft Azure使用clearDB的MySQL db設置了一個數據庫。Azure ClearDB:拒絕用戶'xxxx'到數據庫'xxxx'的訪問

我連接到它通過Java與給定的服務器,名稱和用戶憑據給我,並且一切正常,工作了八個小時......當我連接時突然間無處可去(沒有改變任何實際上必須做的事情與連接)我得到了錯誤信息「訪問拒絕用戶'我的給定用戶名'@'%'到數據庫'我的db-name'」

我再次檢查了一切,甚至提出了一個新的程序試圖連接,但同樣的錯誤消息。在Azure門戶和clearDB頁面上,它表示數據庫的狀態是健康的,它絕對沒有被填滿(1.09%),並且連接的數量最多爲4個。

我做了一個新的數據庫同樣的方式,相應地改變了連接設置,一切正常!

有沒有人有任何想法可能是錯的?

儘管現在所有的東西都和新的數據庫一起工作,但恐怕過了一段時間後,這件事會發生同樣的情況。

回答

-1

根據我的經驗,這個問題通常與MySQL用戶權限有關。

我試圖在Java中測試幾個sql查詢來重現Azure ClearDB上的這個問題,並發現這些SQL案例在下面導致了這個問題。

  1. 在當前數據庫
  2. 執行SQL CREATE DATABASE <new-db>與當前數據庫用戶&密碼
  3. 連接的JDBC URL jdbc:mysql://<db-host>:3306/mysql一些grant操作後,執行SQL查詢,如取消對錶的SELECT權限

雖然我不知道你的Java程序的sql查詢是怎樣引起這個問題的,但我認爲這些情況可以幫助你檢查。

任何問題,請隨時讓我知道。

+0

您無權執行任何這些操作。 – stsatlantis

相關問題