【问题标题】:Getting error when trying to export MariaDB service with MySQL Workbench尝试使用 MySQL Workbench 导出 MariaDB 服务时出错
【发布时间】:2018-03-12 22:24:33
【问题描述】:

我们曾经使用服务密钥通过 MySQL Workbench 连接到 MariaDB 服务,以创建本地备份、进行较小的数据维护、与其他实例比较数据(不一定在 CloudFoundry 等)。

通过使用cf ssh 打开本地连接并使用服务密钥中的参数可以完美地工作。

以前我们能够从数据库创建一个独立的导出文件,但现在我收到以下错误:

未处理的异常:查询安全信息时出错:执行 'SELECT * FROM mysql.user WHERE User='myuser' AND Host='127.0.0.1' ORDER BY User, Host' 时出错 SELECT 命令拒绝用户 'myuser'@'yourIP' 用于表 'user'。 SQL 错误:1142

现在如何从一个数据库服务实现简单的 *.sql 备份 - 理想情况下不需要额外的代理应用程序等?

更新

现在尝试了 DBeaver,它会生成以下命令:

/usr/bin/mysqldump --routines --add-drop-table --disable-keys --extended-insert -v --host=127.0.0.1 --port=13003 -u myuser mydb

结果

用户'myuser'@'10.0.20.44'的访问被拒绝

直接用--password=mypassword提供密码没有区别

文档中提到的替代方案似乎没有提供我们正在寻找的东西(从数据库中简单的完整 .sql 导出)

【问题讨论】:

  • MariaDB 在最新版本中与 Oracle MySQL 不兼容。我无法以普通用户ERROR 1142 (42000): SELECT command denied to user 的身份查询 mysql.user。当您搜索 MySQL Workbench (Oracle) alternativeto.net/software/mysql-workbench 的替代品时,这是最简单的。在官方文档中我们推荐了一些工具docs.developer.swisscom.com/service-offerings/…
  • 谢谢,正在寻找替代方案@fyodor-glebov,问题已更新
  • 创建一个新的服务密钥和/或绑定。如果这不起作用,请使用组织/空间和服务 GUID 提供支持票。对我来说,DBeaver mysqldump 命令可以正常工作(作为非特权用户)-- Dump completed on 2018-03-12 14:46:44

标签: swisscomdev


【解决方案1】:

错误说明了问题所在:SELECT command denied to user 'myuser'@'yourIP' for table 'user'.

尝试将对该表的 SELECT 权限授予您正在使用的用户:

GRANT SELECT ON `mysql`.`user` TO 'myuser'@'yourIP';

【讨论】:

  • 这是一个共享的数据库集群——如果我能够授予自己对主用户表的权限将是一个大问题。我不明白为什么在这个演员表中选择用户表是必要的。
  • 也许某些存储过程或函数会导致需要该授权。如果没有充分的理由要求在 mysql.user 上进行 SELECT,那么我建议在 MariaDB Jira 上打开错误报告:jira.mariadb.org/browse/MDEV
猜你喜欢
  • 1970-01-01
  • 2016-11-13
  • 1970-01-01
  • 1970-01-01
  • 2015-04-07
  • 1970-01-01
  • 2019-08-25
  • 1970-01-01
  • 2013-02-03
相关资源
最近更新 更多