Azure ClearDB:拒绝用户'xxxx'访问数据库'xxxx'

时间:2015-11-26 00:48:35

标签: java mysql database azure cleardb

所以我最近使用clearDB的MySQL数据库通过Microsoft Azure建立了一个数据库。

我通过java连接到它,给出了给定的服务器,名称和用户凭据,一切正常,八小时......当我连接时突然无处可去(没有改变任何与实际有关的事情)连接)我收到错误消息“访问被拒绝用户'my-given-username'@'%'到数据库'my-db-name'”

我仔细检查了一切,甚至做了一个新的程序试图连接,但同样的错误信息。在Azure门户和clearDB页面上,它表明数据库的状态是健康的,它绝对没有填满(1.09%),并且连接数是最多4个中的0。

我以相同的方式创建了一个新数据库,相应地更改了连接设置,一切正常!

有没有人知道可能出现什么问题?

即使现在所有内容都在使用新数据库,但我担心一段时间后会发生同样的事情。

1 个答案:

答案 0 :(得分:-1)

根据我的经验,该问题通常与MySQL用户权限有关。

我尝试在Java中测试几个sql查询以在Azure ClearDB上重现此问题,并发现下面的这些SQL案例导致了这个问题。

  1. 在当前数据库中执行sql CREATE DATABASE <new-db>
  2. 将Jdbc Url jdbc:mysql://<db-host>:3306/mysql与当前数据库用户&amp;密码
  3. 执行一些grant操作后执行sql查询,例如表上的取消选择权限
  4. 虽然我不知道你的Java程序导致了什么sql查询导致了这个问题,但我认为这些情况可以帮助你检查。

    如有任何疑虑,请随时告诉我。