6

我正在尝试使用本教程学习 Spring Roo 。所以,我所做的是:

  • 转到 mysql 工作台
  • 创建一个名为“pizzashop”的新模式
  • 通过服务器管理帐户访问 localhost
  • 在“用户和权限”中创建一个名为“pizzashop”和密码“pizzashop”的新用户,并将连接限制为匹配 % 的主机

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

我尝试在“模式特权”中明确创建一个条目,允许“披萨店”用户查看“披萨店”模式,但它没有用

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

编辑> 向用户帐户添加了一个与另一个具有相同特征但使用 'localhost' 而不是 % 的条目

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

不过,当我使用用户 Pizzashop 连接到 localhost 时,没有出现任何模式

4

6 回答 6

7

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

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

于 2013-10-15T22:26:04.623 回答
1

听起来像是 mysql 的问题,您没有列出很多信息,但是您是否为该用户发出了授权命令?

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

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

MySQL:授予对数据库的**所有**权限

了解更多信息。

于 2013-10-15T22:30:14.367 回答
0

在这种情况下,使用 localhost 作为连接机器的附加用户根本没有帮助。它只是连接到服务器所需的东西(并且您的连接已经使用 % 用于“pizzashop”)。

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

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

如果这对您有用,则应该很容易将其应用于您自己的用户。

于 2013-10-16T07:59:55.547 回答
0

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

请查看 MySQL Workbench 用户和权限的外观。 在此处输入图像描述

请不要忘记将架构特权分配给您想要的架构和“管理角色”选项卡中的“显示数据库”选项。这必须在两个用户中设置。

我希望这会有所帮助

于 2017-06-25T15:59:59.457 回答
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

于 2021-06-16T15:55:58.423 回答
0

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

于 2019-11-29T21:14:37.213 回答