用户无法在mysql工作台中看到数据库

时间:2013-10-15 22:24:14

标签: mysql mysql-workbench

我正在尝试使用this tutorial学习Spring Roo。所以,我做的是:

  • 转到mysql workbench
  • 创建一个名为'pizzashop'的新架构
  • 通过服务器管理帐户访问localhost
  • 使用名称为“pizzashop”和密码“pizzashop”的“用户和权限”创建新用户,并限制与匹配%
  • 的主机的连接

当我尝试使用此帐户连接到服务器时,我注意到它看不到任何数据库

我尝试在'schema privileges'显式创建一个条目,允许'pizzashop'用户看到'pizzashop'架构,但它不起作用

希望你能在这里帮助我。我不知道这是一个Workbench问题还是一个mysql问题。

修改> 添加到用户帐户的另一个条目具有与另一个条目相同的特征,但使用“localhost”而不是%

向架构权限添加了一个条目,说主机:localhost架构:pizzashop以及所有对象和ddl权限(这是我对pizzashop用户唯一的权限)

但是,当我使用用户pizzashop连接到localhost时,没有出现模式

6 个答案:

答案 0 :(得分:7)

它是一个MySQL问题和家庭常见,%与localhost不匹配。为user @ localhost添加具有相同权限的条目

http://bugs.mysql.com/bug.php?id=69570

答案 1 :(得分:0)

听起来像是一个mysql问题,你没有列出很多信息,但你是否为该用户发出了grant命令?

https://dev.mysql.com/doc/refman/5.1/en/grant.html

grant命令也很棘手,请参阅:

MySQL: Grant **all** privileges on database

了解更多信息。

答案 2 :(得分:0)

使用localhost作为要连接的计算机的其他用户在这种情况下根本没有帮助。它只是连接到服务器所需的东西(你的连接已经通过使用%来实现'pizzashop')。

不确定你的情况出了什么问题,但我刚刚在MySQL Workbench 6.0.7中测试过(对5.6服务器):

  1. 创建新用户'test'。没有密码,没有权利,标准认证。
  2. 创建了与同一服务器的新连接(实际上我复制了现有服务器,清除了密码并更改了用户名)。
  3. 打开此新连接(另一个连接可以保持打开状态)。
  4. 除非您启用了系统表,否则不会向'test'用户显示任何模式,在这种情况下,用户至少会看到'performance_schema'。
  5. 返回管理连接并为单个架构添加架构权限(例如“test”)。
  6. 关闭测试连接并重新打开。现在除了'performance_schema'之外,测试用户还应该看到架构测试。
  7. 返回管理员连接并为'test'添加'SHOW DATABASES'全局私有。
  8. 关闭测试连接并重新打开它。现在,'test'用户应该在展开架构树时看到服务器中的所有架构但没有对象(除了我们在第5点为该用户启用的'test'架构)。
  9. 如果这对您有用,则应该很容易将其应用于您自己的用户。

答案 3 :(得分:0)

在调查此问题一天后,我发现我必须创建2个具有相同名称但具有不同“来自主机”选项的用户。

请查看MySQL Workbench用户和权限的外观。 enter image description here

请不要忘记将Schema Privileges分配给所需的架构,并在Administrative Roles选项卡中选择“Show Databases”选项。必须在两个用户中设置此项。

我希望这会有所帮助 此致

答案 4 :(得分:0)

这主要是由于权限问题引起的。就我而言,由于某种原因,MySQL文件夹是隐藏/只读的,因此,尽管SQL查询成功,但MySQL Workbench无法访问架构面板上的相关数据库。我通过取消隐藏MySQL文件夹解决了该问题,然后所有数据库都成功显示在架构面板上。 Show database命令也可以显示数据库。

答案 5 :(得分:0)

此处提供的答案并没有解决我的问题。环顾四周后,我发现了以下内容:

为了让任何其他用户(默认 root 除外)能够看到 Workbench 中的架构,我必须为每个其他用户创建 3 次。

Once for host = %
Once for host = localhost
Once for host = ::1

我很想在 exussum 的回答下发表评论(非常感谢你分享这个解决方案的领导),但我加入了堆栈溢出分钟来分享这个解决方案并且没有足够的点数来评论。

>

此外,我注意到为了使授予的权限真正起作用(全局和每个数据库的权限),我必须确保所有 3 种不同用户 + 主机组合的所有权限都完全相同。

我使用的是 WAMP 服务器 2.5,其中包括 mysql 5.6.17。 + 客户端是 Workbench 6.3