2

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

我使用给定的服务器、名称和用户凭据通过 java 连接到它,并且一切正常,持续了八个小时......当我连接时突然突然出现(没有更改与连接实际有关的任何内容)我收到错误消息“用户 'my-given-username'@'%' 拒绝访问数据库 'my-db-name'”

我仔细检查了所有内容,甚至制作了一个尝试连接的新程序,但同样的错误消息。在 Azure 门户和 clearDB 页面上,它说 DB 的状态是健康的,它绝对没有填满 (1.09 %),并且连接数是 0,最多 4 个。

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

有谁知道可能出了什么问题?

尽管现在一切都在使用新数据库,但我担心同样的事情会在一段时间后发生在这个数据库上。

4

1 回答 1

-1

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

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

  1. 执行CREATE DATABASE <new-db>当前数据库中的sql
  2. jdbc:mysql://<db-host>:3306/mysql使用当前数据库用户和密码连接 Jdbc Url
  3. 某些操作后执行sql查询grant,如取消对表的选择权限

虽然我不知道你的Java程序做了什么sql查询导致了这个问题,但我认为这些案例可以帮助你检查。

任何问题,请随时告诉我。

于 2015-11-27T06:41:43.973 回答